小说网站 搜小说 无限网 烟雨红尘 小说爱好者 免费小说 免费小说网站

javascript之DOM编程增加附件

在开始这个案例之前,需要学习一下有关于根据子关系节点获取标签的几个方法。罗列如下


/*通过关系(父子关系、兄弟关系)找标签。parentNode	
获取当前元素的父节点。childNodes	
获取当前元素的所有下一级子元素。firstChild	
获取当前节点的第一个子节点。lastChild	
获取当前节点的最后一个子节点。
------------------------------------------------------------
nextSibling		获取当前节点的下一个节点。(兄节点)
previousSibling	获取当前节点的上一个节点。(弟节点)我们可以通过标签的类型进行判断筛选:文本节点的类型: 3注释的节点类型: 8标签节点的类型: 1 */

增加附件的代码写了出来:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript"> 
/*
插入目标元素的位置	 
	elt.insertBefore(newNode, oldNode);			添加到elt中,oldNode之前。
	注意: elt必须是oldNode的直接父节点。
					               
	elt.removeChild(child)					删除指定的子节点
	
	注意: elt必须是child的直接父节点。
	
*/	
	
	
	function addFile(){
		//先要创建一个tr对象
		var trNode = document.createElement("tr");
		 //创建td对象
		var tdNode1 =  document.createElement("td");
		var tdNode2 =  document.createElement("td");
		//
		tdNode1.innerHTML ="<input type='file'/>";
		tdNode2.innerHTML = "<a href='#' onclick='delFile(this)' >删除附件</a>";
		//把td的节点添加到tr节点上
		trNode.appendChild(tdNode1);
		trNode.appendChild(tdNode2);
		
		var tbodyNode = document.getElementsByTagName("tbody")[0];
		var lastRow = document.getElementById("lastRow");
		
		tbodyNode.insertBefore(trNode,lastRow);//在lastRow这个节点前添加上trNode。tbody时lastRow(tr)的父节点
	}
	
	
	//删除附件
	function delFile(aNode){
		var trNode = aNode.parentNode.parentNode;
		var tbodyNode = document.getElementsByTagName("tbody")[0];
		tbodyNode.removeChild(trNode);
	}
	
 
</script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
<body>
	<table>
    	<tr>
    		<td><input type="file"/></td><td><a href="#" onclick="delFile(this)" >删除附件</a></td>
    	</tr>
        
        <tr id="lastRow">
        	<td colspan="2"><input onclick="addFile()" type="button" value="添加附件"/></td>
        </tr>
    </table>
</body>
</html>
效果展示:


posted on 2016-05-24 20:53  王小航  阅读(122)  评论(0编辑  收藏  举报

导航