fighting加油吧
2018-05-24 08:20
<!DOCTYPE html>
<html>
<head>
<title> new document </title>
<meta charset="utf-8"/>
<script type="text/javascript">
window.onload = function(){
var tr=document.getElementsByTagName("tr");
for(var i=0;i<tr.length;i++){
tr[i].onmouseover=function(){
this.style.backgroundColor="#f2f2f2";
}
tr[i].onmouseout=function(){
this.style.backgroundColor="#fff";
}
}
}
// 编写一个函数,供添加按钮调用,动态在表格的最后一行添加子节点;
function addClass(){
var table=document.getElementById("table");
var tr=document.createElement("tr");
var td1=document.createElement("td");
var td2=document.createElement("td");
td1.innerHTML=prompt("请输入学号");
td2.innerHTML=prompt("请输入姓名");
table.appendChild(tr);
tr.appendChild(td1);
tr.appendChild(td2);
var td3=document.createElement("td");
var a=document.createElement("a");
a.innerHTML="删除";
a.setAttribute("onclick","del(this)")
td3.appendChild(a);
tr.appendChild(td3);
}
// 创建删除函数
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>xh001</td>
<td>王小明</td>
<td><a onclick="del(this);" >删除</a></td> <!--在删除按钮上添加点击事件 -->
</tr>
<tr>
<td>xh002</td>
<td>刘小芳</td>
<td><a onclick="del(this);" >删除</a></td> <!--在删除按钮上添加点击事件 -->
</tr>
</table>
<input type="button" value="添加一行" onclick="addClass()"/> <!--在添加按钮上添加点击事件 -->
</body>
</html>
这个少了window.onload刚开始没这个效果噢
事件委托
//封装成函数 function changecolor(){ var tr=document.getElementsByTagName("tr"); for(var i=0;i<tr.length;i++){ tr[i].onmouseover=function(){ this.style.backgroundColor="#f2f2f2"; } tr[i].onmouseout=function(){ this.style.backgroundColor="#fff"; } } } // 编写一个函数,供添加按钮调用,动态在表格的最后一行添加子节点; function addClass(){ var table=document.getElementById("table"); var tr=document.createElement("tr"); var td1=document.createElement("td"); var td2=document.createElement("td"); td1.innerHTML=prompt("请输入学号"); td2.innerHTML=prompt("请输入姓名"); table.appendChild(tr); tr.appendChild(td1); tr.appendChild(td2); var td3=document.createElement("td"); var a=document.createElement("a"); a.innerHTML="删除"; a.setAttribute("onclick","del(this)") td3.appendChild(a); tr.appendChild(td3); //添加行后调用 changecolor(); } // 创建删除函数 function del(obj){ var tr=obj.parentNode.parentNode; tr.parentNode.removeChild(tr); //删除行后再次调用 changecolor() } </script> </head> <!--页面加载完成后调用--> <body onload="changecolor()">
我这样弄是可以实现你要的效果 但不知道是不是最好的方法 你可以参考一下。
JavaScript进阶篇
468061 学习 · 21891 问题
相似问题