JavaScript DOM编程 学习笔记-删除节点

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script type="text/javascript">
	//测试removeChild()方法  删除节点
	window.onload = function() {
		//alert(1);
		var bjNode = document.getElementById("bj");
		//var c = bjNode.parentNode.removeChild(bjNode);//指向已经删除的节点
		//alert(c.firstChild.nodeValue);
		//为li节点添加一个confirm
		var liNodes = document.getElementsByTagName("li");
		//alert(liNodes.length);
		for(var i = 0; i < liNodes.length; i++){
			liNodes[i].onclick = function(){
				var flag = confirm("确认要删除" + this.firstChild.nodeValue + "吗?");
				if(flag){
					this.parentNode.removeChild(this);
				}
			}
		}
	}
</script>
</head>
<body>
	<p>你喜欢哪个城市?</p>
	<ul id="city">
		<li id="bj" name="beijing">北京</li>
		<li>上海</li>
		<li>深圳</li>
		<li>深圳2</li>
	</ul>
	<p>你喜欢哪本书?</p>
	<ul id="book">
		<li id="xyj" name="xyj">西游记</li>
		<li>三国演义</li>
		<li>水浒传</li>
		<li>水浒传2</li>
	</ul>
	<br />
</body>
</html>


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Document</title>
<script type="text/javascript">
	window.onload = function() {

		var aNodes = document.getElementById("employeetable").getElementsByTagName("a");
		//为a节点添加点击事件
		for(var i = 0; i < aNodes.length; i++){
			aNodes[i].onclick = function(){
				removeTr(this);
				return false;
			}
		}

		document.getElementById("addEmpButton").onclick = function(){
			var nameVal = document.getElementById("name").value;
			var emailVal = document.getElementById("email").value;
			var salaryVal = document.getElementById("salary").value;
			//alert(nameVal);
			/*
			if(!nameVal || !emailVal || !salaryVal){
				alert("请将信息填写完整");
				return false;
			}
			*/
			if(trim(nameVal) == "" || trim(emailVal) == "" || trim(salaryVal) == ""){
				alert("请将信息填写完整");
				return false;
			}
			//创建td节点
			var nameTd = document.createElement("td");
			//创建文本节点并且将其添加到td节点下
			nameTd.appendChild(document.createTextNode(nameVal));

			//创建td节点
			var emailTd = document.createElement("td");
			//创建文本节点并且将其添加到td节点下
			emailTd.appendChild(document.createTextNode(emailVal));

			//创建td节点
			var salaryTd = document.createElement("td");
			//创建文本节点并且将其添加到td节点下
			salaryTd.appendChild(document.createTextNode(salaryVal));

			//创建tr节点
			var tr = document.createElement("tr");
			//将td节点添加到tr节点下面
			tr.appendChild(nameTd);
			tr.appendChild(emailTd);
			tr.appendChild(salaryTd);

			//创建a节点
			var aNode = document.createElement("a");
			aNode.href = "deleteEmp?id=XXX";
			aNode.appendChild(document.createTextNode("Delete"));
			//为新建的a节点添加点击事件
			aNode.onclick = function(){
				removeTr(this);
				return false;
			}
			//创建td节点
			var aTd = document.createElement("td");
			//将a节点添加到td节点
			aTd.appendChild(aNode);
			//将td节点添加到tr节点
			tr.appendChild(aTd)

			//将tr节点添加到table中
			document.getElementById("employeetable").getElementsByTagName("tbody")[0].appendChild(tr);
		}

	}

	//正则表达式去除字符串前后空格
	function trim(str){
		var reg = /^\s*|\s*$/g;
		return str.replace(reg, "");
	}

	function removeTr(aNode){
		//得到tr
		var trNode = aNode.parentNode.parentNode;
		var textContent = trNode.getElementsByTagName("td")[0].firstChild.nodeValue;
		//alert(textContent);
		textContent = trim(textContent);
		var flag = confirm("确定删除"+ textContent +"的信息吗?");
		if(flag){
			//从tbody中删除tr
			trNode.parentNode.removeChild(trNode);
		}
		return false;
	}
</script>
</head>
<body>
	<center>
		<br> <br> 添加新员工 <br> <br> name: <input type="text"
			name="name" id="name" />&nbsp;&nbsp; email: <input type="text"
			name="email" id="email" />&nbsp;&nbsp; salary: <input type="text"
			name="salary" id="salary" /> <br> <br>
		<button id="addEmpButton" value="abc">Submit</button>
		<br> <br>
		<hr>
		<br> <br>
		<table id="employeetable" border="1" cellpadding="5" cellspacing=0>
			<tbody>
				<tr>
					<th>Name</th>
					<th>Email</th>
					<th>Salary</th>
					<th>&nbsp;</th>
				</tr>
				<tr>
					<td>Tom</td>
					<td>[email protected]</td>
					<td>5000</td>
					<td><a href="deleteEmp?id=001">Delete</a></td>
				</tr>
				<tr>
					<td>Jerry</td>
					<td>[email protected]</td>
					<td>8000</td>
					<td><a href="deleteEmp?id=002">Delete</a></td>
				</tr>
				<tr>
					<td>Bob</td>
					<td>[email protected]</td>
					<td>10000</td>
					<td><a href="deleteEmp?id=003">Delete</a></td>
				</tr>
			</tbody>
		</table>
	</center>
</html>
时间: 2024-10-12 05:04:41

JavaScript DOM编程 学习笔记-删除节点的相关文章

JavaScript DOM编程 学习笔记-替换节点

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script type="text/javascript"> window.onload = function() { //测试replaceChild()方法 var bjNode = d

JavaScript DOM编程 学习笔记-获取元素节点

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script type="text/javascript"> window.onload = function() { //在编写html文档时需要确定id属性值是唯一的 //该方法为doc

JavaScript DOM编程 学习笔记-节点属性

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script type="text/javascript"> //关于节点的属性:nodeType  nodeName  nodeValue //在HTML文档中,任何一个节点都有这三个属性

JavaScript DOM编程 学习笔记-创建并接入节点

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script type="text/javascript"> //新创建一个元素节点,并把该节点添加为文档中指定节点的子节点 window.onload = function() { //创

JavaScript DOM编程 学习笔记-两个小示例

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script type="text/javascript"> window.onload = function() { //点击每个li节点都弹出其文本值 var liNodes = doc

JavaScript DOM编程 学习笔记

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script type="text/javascript"> //整个HTML文档加载完成之后出发window.onload事件,事件出发后执行function函数体 window.onlo

DOM编程 学习笔记(一)

PS:虽然自己JS基本语法算是掌握了,但是其实在JS掌握的只是远远还不够,网页上有太多好看的动态效果都是用JS 做出来的,自己也就仅仅会那么一两个动态的效果,学的只是皮毛...等有空的时候一定要好好的研究那些动态效果 的制作,实在是太炫酷了...先开始DOM的基本语法吧...等DOM和JQuery的基本语法和用法搞定后就去深入的研究 研究那些动态效果的制作... DOM编程 学习内容 1.DOM简单介绍 2.DOM解析方式 3.在网页中使用DOM编程 4.DOM window对象以及Loacti

JavaScript面向对象编程学习笔记

1  Javascript 面向对象编程 所谓"构造函数",其实就是一个普通函数,但是内部使用了this变量.对构造函数使用new运算符,就能生成实例,并且this变量会绑定在实例对象上. 自动含有一个constructor属性,指向它们的构造函数. Javascript还提供了一个instanceof运算符,验证原型对象与实例对象之间的关系. Javascript规定,每一个构造函数都有一个prototype属性,指向另一个对象.这个对象的所有属性和方法,都会被构造函数的实例继承.

轻松学习JavaScript二十:DOM编程学习之获取节点

我们这里所说的获取节点包含元素节点,属性节点和文本节点.通常,通过DOM我们就能够操作HTML元素.为 了做到这件事情,您必须首先找到该元素.W3C提供了比较方便简单的定位节点的方法和属性,以便我们快速的对节 点进行操作. 我们先来写一个简单的HTML文档以供我们进行测试,并且JS代码都是写在window.onload事件中: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://w