我这样写的删除函数: var table=document.getElementById("table"); table.removeChild(obj.parentNode.parentNode); 点击删除时总是报NotFoundError: Node was not found table1.removeChild(obj.parentNode.parentNode); 看了其他同学的代码: var tr=obj.parentNode.parentNode; tr.parentNode.removeChild(tr); Ok tr.parentNode不就是table元素吗??
// 创建删除函数
function delRow(obj){
var table=document.getElementById("table");
table.removeChild(obj.parentNode.parentNode);
}
</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:void(0);" onclick="delRow(this);">删除</a></td> <!--在删除按钮上添加点击事件 -->
</tr>
<tr>
<td>xh002</td>
<td>刘小芳</td>
<td><a href="javascript:void(0);" >删除</a></td> <!--在删除按钮上添加点击事件 -->
</tr>
</table>
<input type="button" value="添加一行" onclick="addRow()" /> <!--在添加按钮上添加点击事件 -->
</body>
你还是发完整代码好看一些,不然不好看。 最后一个有问题,tr的父元素是tbody,在之前才是table。