【JavaScript】DOM操作表格

DOM操作表格

1.利用JavaScript动态增加、删除表格内容

页面如图

注:首先说个小问题,有些如制定按钮点击事件的js代码,放在html文档最后可以,放在最前面(<head>标签内)不可以,原因是html文档是自上往下读取,当读到最上面的js、代码时,并没有读取相应的DOM标签,所以制定的按钮功能没有效果,如果非要放在上面,可以指定到window.onload方法中去:

<head>
<span style="white-space:pre">	</span><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
	<title>js测试</title>
	<script language="javascript">
	        //window.onload执行规则:
		//1.必须dom结构绘制完毕(整个html解析结束)之后才执行
		//2.页面的所有关联的文件必须加载完毕
		window.onload=function(){
			//<button id="addUser">提交</button>
			document.getElementById("addUser").onclick=function(){
				alert("xxxx");
			};
		}
	</script>
</head>

言归正传,咱们来实现刚刚说的动态增删表格功能

实现:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
		<title>js测试</title>

	</head>
	<body> 

	    <center>
			<br><br>
			添加用户:<br><br>
			姓名: <input type="text" name="name" id="name" />  
			email: <input type="text" name="email" id="email" />  
			电话: <input type="text" name="tel" id="tel" /><br><br>
			<button id="addUser">提交</button>
			<br><br>
			<hr>
			<br><br>
			<table id="usertable" border="1" cellpadding="5" cellspacing=0>
				<tbody>
					<tr>
						<th>姓名</th>
						<th>email</th>
						<th>电话</th>
						<th> </th>
					</tr>
					<tr>
						<td>Tom</td>
						<td>tom@tom.com</td>
						<td>5000</td>
						<td><a href="deleteEmp?id=Tom">Delete</a></td>
					</tr>
					<tr>
						<td>Jerry</td>
						<td>jerry@sohu.com</td>
						<td>8000</td>
						<td><a href="deleteEmp?id=Jerry">Delete</a></td>
					</tr>
				</tbody>
			</table>
		</center>
	</body>
	<script language="javascript">
		//window.onload执行规则:
		//1.必须dom结构绘制完毕(整个html解析结束)之后才执行
		//2.页面的所有关联的文件必须加载完毕
		window.onload=function(){
			//<button id="addUser">提交</button>
			document.getElementById("addUser").onclick=function(){
				/****************************************************/
				//获取文本框的值
				var name=document.getElementById("name").value;
				var email=document.getElementById("email").value;
				var tel=document.getElementById("tel").value;

				/****************************************************/
				//创建四个<td>,并加入文本值
				var nameTd=document.createElement("td");
				var nameText=document.createTextNode(name);
				nameTd.appendChild(nameText);
				var emailTd=document.createElement("td");
				var emailText=document.createTextNode(email);
				emailTd.appendChild(emailText);
				var telTd=document.createElement("td");
				var telText=document.createTextNode(tel);
				telTd.appendChild(telText);

				//创建超链接标签
				var aTd=document.createElement("td");
				var aElement=document.createElement("a");
				aElement.setAttribute("href","deleteEmp?id="+name);
				var deleteText=document.createTextNode("Delete");
				aElement.appendChild(deleteText);
				aTd.appendChild(aElement);

				/****************************************************/
				//创建<tr>
				var trElement=document.createElement("tr");

				//增加<td>到<tr>上
				trElement.appendChild(nameTd);
				trElement.appendChild(emailTd);
				trElement.appendChild(telTd);
				trElement.appendChild(aTd);

				/****************************************************/
				//增加<tr>到<table>上
				var tableElement=document.getElementById("usertable");
				//tableElement.appendChild(trElement);
				//由于部分IE浏览器显示不正常,为了兼容性,添加到tbody标签上
				//创建tbody,为了跨浏览器显示
				var tbodyElement=document.createElement("tbody");
				tbodyElement.appendChild(trElement);

				//放置tbody到table上
				tableElement.appendChild(tbodyElement);

				/****************************************************/
				//删除
				aElement.onclick=function(){
					//return false使网页的链接失效
					return delTr(aElement);
				}

				/****************************************************/
				function delTr(aELement){
					var name=aElement.parentNode.parentNode.firstChild.firstChild.nodeValue;
					var flag=window.confirm("您真的要删除["+name+"]吗?");
					//点击"取消"按钮
					if(!flag){
						return false;
					}

					/*删除*********************************************/
					//获取tbody
					var tbodyElement=aElement.parentNode.parentNode.parentNode;
					//获取tr
					var trElement=aElement.parentNode.parentNode;
					//删除
					tbodyElement.removeChild(trElement);
					//使网页的链接失效
					return false;
				}
			}
		}

	</script>
</html>

最终效果:
点击添加,添加成功!

点击"Delete"链接,删除成功!

转载请注明出处:http://blog.csdn.net/acmman/article/details/48010081

时间: 2024-08-02 07:28:07

【JavaScript】DOM操作表格的相关文章

JavaScript DOM操作表格及样式_基础知识

一 操作表格 <table>标签是HTML中结构最为复杂的一个,我们可以通过DOM来创建生成它,或者HTMLDOM来操作它; // 使用DOM来创建表格; var table = document.createElement('table'); table.border = 1; table.width = 300; var caption = document.createElement('caption'); table.appendChild(caption); caption.appe

JavaScript DOM操作表格及样式

 一 操作表格 <table>标签是HTML中结构最为复杂的一个,我们可以通过DOM来创建生成它,或者HTMLDOM来操作它; 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 // 使用DOM来创建表格; var table = document.createElement('table'); table.border = 1; table.width = 300;   var caption = document.

JavaScript——DOM操作——Window.document对象详解_javascript技巧

一.找到元素:     docunment.getElementById("id"):根据id找,最多找一个:     var a =docunment.getElementById("id");将找到的元素放在变量中:     docunment.getElementsByName("name"):根据name找,找出来的是数组:     docunment.getElementsByTagName("name"):根据标签

javascript DOM 操作自定义创建HTML代码实例

创建自定义的HTML元素 我们可以使用 document.registerElement() 创建自定义的HTML元素,这个函数返回的是一个构造函数,第一个参数是用来声明自定义HTML元素的名称,第二个参数是可选的,用来描述原型的对象,自定义功能的元素. 在下面的示例中,简单的创建了一个新的HTML元素<x-treehouse>,并且将它放入到页面中: var XTreehouseElement = document.registerElement('x-treehouse');documen

JavaScript动态操作表格实例(添加,删除行,列及单元格)_javascript技巧

复制代码 代码如下: <html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>js动态操作表格</title><script language="javascript">function init(){_table=document.getElementByI

javascript dom 操作优化

DOM 操作优化 首先澄清两个概念--Repaint 和 Reflow:Repaint 也叫 Redraw,它指的是一种不会影响当前 DOM 的结构和布局的一种重绘动作.如下动作会产生 Repaint 动作: 不可见到可见(visibility 样式属性); 颜色或图片变化(background, border-color, color 样式属性); 不改变页面元素大小,形状和位置,但改变其外观的变化 Reflow 比起 Repaint 来讲就是一种更加显著的变化了.它主要发生在 DOM 树被操

[DOM]javascript DOM操作

对于B/S开发,客户端与服务器端的交互是非常必要的,JavaScript的提出解决了很多问题,AJAX的提出也解决了异步通信的问题,更加为用户着想了.而DOM是其中非常基础的知识,在学习AJAX的同时,我学习了一下DOM的相关操作,这篇重点讲一下HTML DOM的相关内容,其实就是在HTML网页上进行的各种操作.           一,概述: DOM(对象文档模型(Document Object Model)),是W3C组织推荐的处理可扩展置标语言的标准编程接口.DOM可以以一种独立于平台和语

javascript dom 操作详解 js加强_javascript技巧

1 .文档里的每个节点都有属性 nodeName . nodeValue . nodeType nodeName 文本节点的的节点名是 #text , nodeName 是只读属性 nodeValue 1 元素节点 2 属性节点 3 文本节点 只读属性 nodeType 不能用于元素节点 返回 null 2 . getElementsByTagName 返回一个节点集合 3 . firstChild . lastChild 第一个元素节点,最后一个元素节点 4 . childNodes 返回所有

dom操作表格

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>Table test</title> </head> <body> <div id="tableTest"> </div> </body> </html> <scr