1. 程式人生 > >js動態給表格新增一行、刪除一行

js動態給表格新增一行、刪除一行

最近寫程式碼遇到這個需求,特地總結了一下寫了個demo,如下所示:

程式碼:

<!DOCTYPE html>
<html>
	<head>
		<title>new document</title>
		<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
		<script type="text/javascript"> 
			window.onload = function(){
				var tr=document.getElementsByTagName("tr");
				for(var i= 0;i<tr.length;i++){
					bgcChange(tr[i]);
				}
				
			} 
			// 滑鼠移動改變背景,可以通過給每行繫結滑鼠移上事件和滑鼠移除事件來改變所在行背景色。
			function bgcChange(obj){
				obj.onmouseover=function(){
					obj.style.backgroundColor="#f2f2f2";
				}
				obj.onmouseout=function(){
					obj.style.backgroundColor="#fff";
				}
			}
			
			// 編寫一個函式,供新增按鈕呼叫,動態在表格的最後一行新增子節點;
			var num=2;
			function add(){
				num++;
				var tr=document.createElement("tr");
				var xh=document.createElement("td");
				var xm=document.createElement("td");
				xh.innerHTML="00"+num;
				xm.innerHTML="第"+num+"學生";
				var del=document.createElement("td");
				del.innerHTML="<a href='javascript:;' onclick='del(this)' >刪除</a>";
				var tab=document.getElementById("table");
				tab.appendChild(tr);
				tr.appendChild(xh);
				tr.appendChild(xm);
				tr.appendChild(del);
				var tr = document.getElementsByTagName("tr");
				for(var i= 0;i<tr.length;i++){
					bgcChange(tr[i]);
				}
			}
			// 建立刪除函式
			function del(obj){
				var tr=obj.parentNode.parentNode;
				tr.parentNode.removeChild(tr);
			}
		</script>
	</head>
	<body>
		<table border="1" width="50%" id="table">
			<tr>
				<th>學號</th>
				<th>姓名</th>
				<th>操作</th>
			</tr>
			<tr>
				<td>001</td>
				<td>李小明</td>
				<td><a href="javascript:;" onclick="del(this);">刪除</a></td>在刪除按鈕上新增點選事件 
			</tr>
			<tr>
				<td>002</td>
				<td>張小芳</td>
				<td><a href="javascript:;" onclick="del(this);">刪除</a></td>在刪除按鈕上新增點選事件 
			</tr>
		</table>
		<input type="button" value="新增一行" onclick="add()" />
		在新增按鈕上新增點選事件 
	</body>
</html>

預覽效果:

歡迎借鑑和交流^v^~