GDnite
2018-10-15 22:28
不知道为什么添加一行没反应。
ntr.appendChild(ntd_1);
ntr.appendChild(ntd_2);
ntr.appendChild(ntd_3);
tab.appendChild(ntr);
你的代码,这里有问题,append的是节点,是变量,不用加引号
而且num++应该放在函数的结尾处
<!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 obj=document.getElementsByTagName("tr");
for (var i=0;i<obj.length;i++){
bacchange(obj[i]);
}
}
function bacchange(odj){
odj.onmouseover=function (){
odj.style.backgroundColor="blue";
}
odj.onmouseout=function (){
odj.style.backgroundColor="pink";
}
}
// 鼠标移动改变背景,可以通过给每行绑定鼠标移上事件和鼠标移除事件来改变所在行背景色。
var num=3;
function add(){
num++;
var ntr=document.createElement("tr");
var ntd_1=document.createElement("td");
var ntd_2=document.createElement("td");
var ntd_3=document.createElement("td");
ntd_1.innerHTML="xhoo"+num;
ntd_2.innerHTML="第"+num+"位同学";
ntd_3.innerHTML="<a href='javascript:;' onclick='del()' >删除</a>";
var tab=document.getElementById("table");
tab.appendChild("ntr");
ntr.appendChild("ntd_1");
ntr.appendChild("ntd_2");
ntr.appendChild("ntd_3");
var obj=document.getElementsByTagName("tr");
for (var i=0;i<obj.length;i++){
bacchange(obj[i]);
}
}
// 编写一个函数,供添加按钮调用,动态在表格的最后一行添加子节点;
// 创建删除函数
function move(obj){
var delcode=obj.parentNode.parentNode;
delcode.parentNode.removeChild(delcode);
}
</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 href="javascript:;" onclick="move(this)">删除</a></td> <!--在删除按钮上添加点击事件 -->
</tr>
<tr>
<td>xh002</td>
<td>刘小芳</td>
<td><a href="javascript:;" onclick="move(this)">删除</a></td> <!--在删除按钮上添加点击事件 -->
</tr>
</table>
<input type="button" value="添加一行" onclick="add()" /> <!--在添加按钮上添加点击事件 -->
</body>
</html>
JavaScript进阶篇
468194 学习 · 21891 问题
相似问题