DOM动态添加与删除元素

动态增加元素的DOM操作
服务器君一共花费了220.309 ms进行了5次数据库查询,努力地为您提供了这个页面。
试试阅读模式?希望听取您的建议

动态的增加和删除元素在很多地方都需要用到,比如有时候需要大量数据收集的时候,我们就需要动态增加form表单等。下面是一个例子:

效果演示

动态添加用户
添加新的用户名  
用户信息

JavaScript代码

<html>  
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
<head>  
<title>DOM-动态添加和删除元素</title>  
<style type="text/css">  
body,td,caption,input{ font-size:12px; }
.test { border-collapse:collapse; }
.test td { border:1px solid #ccc; line-height:150%;  }  
</style>  
<script language="javascript">  
var count = 0;  
//添加新用户的操作  
function addNewUser()
{  
	//得到文本框对象  
	var objName = document.getElementById('name');  
	if(objName.value=="")
	{  
		alert("用户名不能为空!");  
		objName.focus();  
		return;  
	}
	else
	{  
  		count++;  
		//先创建行tr  
   		var row = document.createElement("tr");  
     	//设置行对象的ID属性为用户输入的用户名称  
		row.setAttribute("id",objName.value+count);  
    	//创建td对象  
    	 var column = document.createElement("td");  
     	//td对象下添加子节点 - 内容 TextNode 对象  
     	column.appendChild(document.createTextNode(objName.value));  
     	//row对象将td对象添加为子节点对象  
  		row.appendChild(column);  
  
    	//再创建删除按钮  
		var delBtn = document.createElement("input");  
 		//类型  
    	delBtn.setAttribute("type","button");  
		//文本  
		delBtn.setAttribute("value","Delete");  
  
		//设置对象的事件处理 - 所调用的函数  
   		var name = objName.value+count;  
		delBtn.onclick= function(){delUser(name);};  
  
		column = document.createElement("td");  
   		column.appendChild(delBtn);  
                      
		//行对象添加  
 		row.appendChild(column);  
  		//添加这一行到tbody中  
 		document.getElementById('userList').appendChild(row);  
		objName.value="";  
	}  
}  
//删除元素  
function delUser(name)
{  
	if(name!=null)
	{  
 		var objRow = document.getElementById(name);  
   		var objTBODY = document.getElementById("userList");  
     	//删除  
    	objTBODY.removeChild(objRow);  
  	}  
}  
</script>  
</head>  
<body>  
<table align="center" width="40%" cellspacing="0" class="test">  
	<caption align="center">动态添加用户</caption>  
	<tr>  
		<td>添加新的用户名</td>  
		<td><input type="text" id="name">  <input type="button" value="添 加" onClick="addNewUser()"></td>   
	</tr>  
	<tr>  
		<td colspan="2">用户信息</td>  
	</tr>   
	<!--表格主体-->  
	<tbody id="userList"></tbody>  
</table>  
</body>  
</html>

本文地址:http://www.nowamagic.net/librarys/veda/detail/447,欢迎访问原出处。

不打个分吗?

转载随意,但请带上本文地址:

http://www.nowamagic.net/librarys/veda/detail/447

如果你认为这篇文章值得更多人阅读,欢迎使用下面的分享功能。
小提示:您可以按快捷键 Ctrl + D,或点此 加入收藏

大家都在看

阅读一百本计算机著作吧,少年

很多人觉得自己技术进步很慢,学习效率低,我觉得一个重要原因是看的书少了。多少是多呢?起码得看3、4、5、6米吧。给个具体的数量,那就100本书吧。很多人知识结构不好而且不系统,因为在特定领域有一个足够量的知识量+足够良好的知识结构,系统化以后就足以应对大量未曾遇到过的问题。

奉劝自学者:构建特定领域的知识结构体系的路径中再也没有比学习该专业的专业课程更好的了。如果我的知识结构体系足以囊括面试官的大部分甚至吞并他的知识结构体系的话,读到他言语中的一个词我们就已经知道他要表达什么,我们可以让他坐“上位”毕竟他是面试官,但是在知识结构体系以及心理上我们就居高临下。

所以,阅读一百本计算机著作吧,少年!

《高性能JavaScript》 Nicholas C. Zakas (作者), 赵泽欣 (合著者), 丁琛 (译者)

《高性能JavaScript》揭示的技术和策略能帮助你在开发过程中消除性能瓶颈。你将会了解如何提升各方面的性能,包括代码的加载、运行、DOM 交互、页面生存周期等。雅虎的前端工程师 Nicholas C. Zakas 和其他五位 JavaScript 专家介绍了页面代码加载的最佳方法和编程技巧,来帮助你编写更为高效和快速的代码。你还会了解到构建和部署文件到生产环境的最佳实践,以及有助于定位线上问题的工具。如果你使用 JavaScript 构建交互丰富的 Web 应用,那么 JavaScript 代码可能是造成你的Web应用速度变慢的主要原因。

更多计算机宝库...