前端---js(自学笔记21)(添加删除记录练习,超链接索引问题)

添加删除记录------删除:

<!DOCTYPE html>
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >
		<title>添加删除记录练习</title>
		<link rel="stylesheet" type="text/css" href="css/delete.css"/>
		<script type="text/javascript">
			window.onload = function(){
           //点击事件之后,每点击一个删除按钮,就删除对应的员工信息
           //获取超链接
           var allA = document.getElementsByTagName("a");
           
           
           //给超链接绑定单击响应函数
           for (var i = 0; i < allA.length; i++) {
           	allA[i].onclick = function(){
           			//alert("hello");
           			//点击删除之后,需要删除该行的超链接
           			//我们在这里点击那个超链接,this就指该超链接
           			//获取当前tr
           			var tr =this.parentNode.parentNode;
           			
           			//获取要删除的员工名字
           			//var name =tr.getElementsByTagName("td")[0].innerHTML;
           			var name =tr.children[0].innerHTML;
           			//删除之前弹出提示框
           			//alert("确认删除吗?");
           			//confirm()用于弹出一个带有确认和取消的按钮提示框
           			var flag =confirm("确认删除"+name+"吗?");
           			//删除tr
           			
           			if(flag){
           				tr.parentNode.removeChild(tr);
           			}
           			
           			//点击超链接之后,页面会自动跳转,这个是默认行为,
           			//如果我们不想出现默认行为,可以通过在响应函数的最后return false来取消默认行为
           			return false;
           	};
           
           }
			};
		</script>
	</head>
	<body>
		<table id="employeeTable">
			<tr>
				<th>Name</th>
				<th>Email</th>
				<th>Salary</th>
				<th>&nbsp;</th>
			</tr>
			<tr>
				<td>Tom</td>
				<td>tom@tom.com</td>
				<td>5000</td>
				<td><a href="deleteEmp?id=001">Delete</a></td>
			</tr>
			<tr>
				<td>jack</td>
				<td>jackm@tom.com</td>
				<td>8000</td>
				<td><a href="deleteEmp?id=002">Delete</a></td>
			</tr>
			<tr>
				<td>kee</td>
				<td>kee@tom.com</td>
				<td>5470</td>
				<td><a href="deleteEmp?id=003">Delete</a></td>
			</tr>
		</table>
		
		<div id="formDiv">
		  <h4>添加新员工</h4>
		  <table>
		  	<tr>
		  		<td class="word">name:</td>
		  		<td class="inp">
		  			<input type="text" name="empName" id="empName" />
		  		</td>
		  	</tr>
		  	<tr>
		  		<td class="word">email:</td>
		  		<td class="inp">
		  			<input type="text" name="email" id="email" />
		  		</td>
		  	</tr>
		  	<tr>
		  		<td class="word">salary:</td>
		  		<td class="inp">
		  			<input type="text" name="salary" id="salary" />
		  		</td>
		  	</tr>
		  	<tr>
		  		<td colspan="2" align="center">
		  			<button id="addEmpButton" value="abc">Submit</button>
		  		</td>
		  	</tr>
		  </table>
		</div>
	</body>
</html>
#employeeTable {
	border-spacing: 1px;
	background-color: black;
	margin: 80px auto 10px auto;
}

th,td {
	background-color: white;
}

#formDiv {
	width: 250px;
	border-style: solid;
	border-width: 1px;
	margin: 50px auto 10px auto;
	padding: 10px;
}

#formDiv input {
	width: 100%;
}

.word {
	width: 40px;
}

.inp {
	width: 200px;
}

添加删除记录------添加:

<!DOCTYPE html>
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >
		<title>添加删除记录练习</title>
		<link rel="stylesheet" type="text/css" href="css/delete.css"/>
		<script type="text/javascript">
			function delA(){
           			//alert("hello");
           			//点击删除之后,需要删除该行的超链接
           			//我们在这里点击那个超链接,this就指该超链接
           			//获取当前tr
           			var tr =this.parentNode.parentNode;
           			
           			//获取要删除的员工名字
           			//var name =tr.getElementsByTagName("td")[0].innerHTML;
           			var name =tr.children[0].innerHTML;
           			//删除之前弹出提示框
           			//alert("确认删除吗?");
           			//confirm()用于弹出一个带有确认和取消的按钮提示框
           			var flag =confirm("确认删除"+name+"吗?");
           			//删除tr
           			
           			if(flag){
           				tr.parentNode.removeChild(tr);
           			}
           			
           			//点击超链接之后,页面会自动跳转,这个是默认行为,
           			//如果我们不想出现默认行为,可以通过在响应函数的最后return false来取消默认行为
           			return false;
           	};
           
			window.onload = function(){
           //点击事件之后,每点击一个删除按钮,就删除对应的员工信息
           //获取超链接
           var allA = document.getElementsByTagName("a");
           
           
           //给超链接绑定单击响应函数
           for (var i = 0; i < allA.length; i++) {
           	allA[i].onclick = delA;
			
					//添加员工的功能
					//-点击按钮以后,将员工的信息添加到表格中
					//为提交按钮绑定一个响应函数
					var addEmpButton =document.getElementById("addEmpButton");
					addEmpButton.onclick = function(){
						//alert("hello");
						//获取用户添加的员工信息
						//获取员工的名字
						var name =document.getElementById("empName").value;
						//获取员工邮箱
						var email =document.getElementById("email").value;
						//获取员工工资
						var salary =document.getElementById("salary").value;
						
						//alert(name+email+salary);
						//<tr>
							//<td>jack</td>
							//<td>jackm@tom.com</td>
							//<td>8000</td>
							//<td><a href="deleteEmp?id=002">Delete</a></td>
						//</tr>
						//需要将获取到的信息保存到tr中
						
						//创建一个tr
						var tr =document.createElement("tr");
						//创建四个td
						var nameTd =document.createElement("td");
						var emailTd =document.createElement("td");
						var salaryTd =document.createElement("td");
						var aTd =document.createElement("td");
						//创建一个a元素
						var a =document.createElement("a");
						//创建文本节点
						var nameText =document.createTextNode(name);
						var emailText =document.createTextNode(email);
						var salaryText =document.createTextNode(salary);
						var delText =document.createTextNode("Delete");
						
						//将文本条件到td中
						nameTd.appendChild(nameText);
						emailTd.appendChild(emailText);
						salaryTd.appendChild(salaryText);
						//向a中添加文本
						a.appendChild(delText);
						//将a添加到tr中
						aTd.appendChild(a);
						//将td添加到tr中
						tr.appendChild(nameTd);
						tr.appendChild(emailTd);
						tr.appendChild(salaryTd);
						tr.appendChild(aTd);
						//向a中添加href属性
						a.href="javascript:;"
						a.onclick=delA;
						//获取table
						var employeeTable =document.getElementById("employeeTable");
						//获取employeeTable中的tbody
						var tbody =employeeTable.getElementsByTagName("tbody")[0];
						//将tr添加到table中
						tbody.appendChild(tr);
					}
			};
			};
		</script>
	</head>
	<body>
		<table id="employeeTable">
			<tr>
				<th>Name</th>
				<th>Email</th>
				<th>Salary</th>
				<th>&nbsp;</th>
			</tr>
			<tr>
				<td>Tom</td>
				<td>tom@tom.com</td>
				<td>5000</td>
				<td><a href="deleteEmp?id=001">Delete</a></td>
			</tr>
			<tr>
				<td>jack</td>
				<td>jackm@tom.com</td>
				<td>8000</td>
				<td><a href="deleteEmp?id=002">Delete</a></td>
			</tr>
			<tr>
				<td>kee</td>
				<td>kee@tom.com</td>
				<td>5470</td>
				<td><a href="deleteEmp?id=003">Delete</a></td>
			</tr>
		</table>
		
		<div id="formDiv">
		  <h4>添加新员工</h4>
		  <table>
		  	<tr>
		  		<td class="word">name:</td>
		  		<td class="inp">
		  			<input type="text" name="empName" id="empName" />
		  		</td>
		  	</tr>
		  	<tr>
		  		<td class="word">email:</td>
		  		<td class="inp">
		  			<input type="text" name="email" id="email" />
		  		</td>
		  	</tr>
		  	<tr>
		  		<td class="word">salary:</td>
		  		<td class="inp">
		  			<input type="text" name="salary" id="salary" />
		  		</td>
		  	</tr>
		  	<tr>
		  		<td colspan="2" align="center">
		  			<button id="addEmpButton">Submit</button>
		  		</td>
		  	</tr>
		  </table>
		</div>
	</body>
</html>

添加删除记录------修改:

<!DOCTYPE html>
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >
		<title>添加删除记录练习</title>
		<link rel="stylesheet" type="text/css" href="css/delete.css"/>
		<script type="text/javascript">
			function delA(){
           			//alert("hello");
           			//点击删除之后,需要删除该行的超链接
           			//我们在这里点击那个超链接,this就指该超链接
           			//获取当前tr
           			var tr =this.parentNode.parentNode;
           			
           			//获取要删除的员工名字
           			//var name =tr.getElementsByTagName("td")[0].innerHTML;
           			var name =tr.children[0].innerHTML;
           			//删除之前弹出提示框
           			//alert("确认删除吗?");
           			//confirm()用于弹出一个带有确认和取消的按钮提示框
           			var flag =confirm("确认删除"+name+"吗?");
           			//删除tr
           			
           			if(flag){
           				tr.parentNode.removeChild(tr);
           			}
           			
           			//点击超链接之后,页面会自动跳转,这个是默认行为,
           			//如果我们不想出现默认行为,可以通过在响应函数的最后return false来取消默认行为
           			return false;
           	};
           
			window.onload = function(){
           //点击事件之后,每点击一个删除按钮,就删除对应的员工信息
           //获取超链接
           var allA = document.getElementsByTagName("a");
           
           
           //给超链接绑定单击响应函数
           for (var i = 0; i < allA.length; i++) {
           	allA[i].onclick = delA;
			
					//添加员工的功能
					//-点击按钮以后,将员工的信息添加到表格中
					//为提交按钮绑定一个响应函数
					var addEmpButton =document.getElementById("addEmpButton");
					addEmpButton.onclick = function(){
						//alert("hello");
						//获取用户添加的员工信息
						//获取员工的名字
						var name =document.getElementById("empName").value;
						//获取员工邮箱
						var email =document.getElementById("email").value;
						//获取员工工资
						var salary =document.getElementById("salary").value;
						
						//alert(name+email+salary);
						//<tr>
							//<td>jack</td>
							//<td>jackm@tom.com</td>
							//<td>8000</td>
							//<td><a href="deleteEmp?id=002">Delete</a></td>
						//</tr>
						//需要将获取到的信息保存到tr中
						
						//创建一个tr
						var tr =document.createElement("tr");
						tr.innerHTML="<td>"+name+"</td>"+
									"<td>"+email+"</td>"+
									"<td>"+salary+"</td>"+
									"<td><a href="javascript:;">Delete</a></td>";
									//获取刚刚添加的a元素,并为其绑定单击响应函数
									var a =tr.getElementsByTagName("a")[0];
									a.onclick=delA;
						//获取table
						var employeeTable =document.getElementById("employeeTable");
						//获取employeeTable中的tbody
						var tbody =employeeTable.getElementsByTagName("tbody")[0];
						//将tr添加到table中
						tbody.appendChild(tr);
					}
			};
			};
		</script>
	</head>
	<body>
		<table id="employeeTable">
			<tr>
				<th>Name</th>
				<th>Email</th>
				<th>Salary</th>
				<th>&nbsp;</th>
			</tr>
			<tr>
				<td>Tom</td>
				<td>tom@tom.com</td>
				<td>5000</td>
				<td><a href="deleteEmp?id=001">Delete</a></td>
			</tr>
			<tr>
				<td>jack</td>
				<td>jackm@tom.com</td>
				<td>8000</td>
				<td><a href="deleteEmp?id=002">Delete</a></td>
			</tr>
			<tr>
				<td>kee</td>
				<td>kee@tom.com</td>
				<td>5470</td>
				<td><a href="deleteEmp?id=003">Delete</a></td>
			</tr>
		</table>
		
		<div id="formDiv">
		  <h4>添加新员工</h4>
		  <table>
		  	<tr>
		  		<td class="word">name:</td>
		  		<td class="inp">
		  			<input type="text" name="empName" id="empName" />
		  		</td>
		  	</tr>
		  	<tr>
		  		<td class="word">email:</td>
		  		<td class="inp">
		  			<input type="text" name="email" id="email" />
		  		</td>
		  	</tr>
		  	<tr>
		  		<td class="word">salary:</td>
		  		<td class="inp">
		  			<input type="text" name="salary" id="salary" />
		  		</td>
		  	</tr>
		  	<tr>
		  		<td colspan="2" align="center">
		  			<button id="addEmpButton">Submit</button>
		  		</td>
		  	</tr>
		  </table>
		</div>
	</body>
</html>

这个结果与上面一样,只是添加的部分进行了简化。 

添加删除记录------扩展a的索引问题:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>添加删除记录练习</title>
<link rel="stylesheet" type="text/css" href="ex_2_style/css.css" />
<script type="text/javascript">
	
	window.onload = function(){
		
		/*
		 * 点击超链接以后,删除一个员工的信息
		 */
		
		//获取所有额超链接
		var allA = document.getElementsByTagName("a");
		
		//为每个超链接都绑定一个单击响应函数
		for(var i=0 ; i < allA.length ; i++){
			/*
			 * for循环会在页面加载完成之后立即执行,
			 * 	而响应函数会在超链接被点击时才执行
			 * 当响应函数执行时,for循环早已执行完毕
			 */
			
			alert("for循环正在执行"+i);
			
			allA[i].onclick = function(){
				
				alert("响应函数正在执行"+i);
				
				//alert(allA[i]);
				
				return false;
			};
			
		}
		
	};

	
</script>
</head>
<body>

	<table id="employeeTable">
		<tr>
			<th>Name</th>
			<th>Email</th>
			<th>Salary</th>
			<th>&nbsp;</th>
		</tr>
		<tr>
			<td>Tom</td>
			<td>tom@tom.com</td>
			<td>5000</td>
			<td><a href="javascript:;">Delete</a></td>
		</tr>
		<tr>
			<td>Jerry</td>
			<td>jerry@sohu.com</td>
			<td>8000</td>
			<td><a href="deleteEmp?id=002">Delete</a></td>
		</tr>
		<tr>
			<td>Bob</td>
			<td>bob@tom.com</td>
			<td>10000</td>
			<td><a href="deleteEmp?id=003">Delete</a></td>
		</tr>
	</table>

	<div id="formDiv">
	
		<h4>添加新员工</h4>

		<table>
			<tr>
				<td class="word">name: </td>
				<td class="inp">
					<input type="text" name="empName" id="empName" />
				</td>
			</tr>
			<tr>
				<td class="word">email: </td>
				<td class="inp">
					<input type="text" name="email" id="email" />
				</td>
			</tr>
			<tr>
				<td class="word">salary: </td>
				<td class="inp">
					<input type="text" name="salary" id="salary" />
				</td>
			</tr>
			<tr>
				<td colspan="2" align="center">
					<button id="addEmpButton" value="abc">
						Submit
					</button>
				</td>
			</tr>
		</table>

	</div>

</body>
</html>

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值