在学习js过程中遇到一个问题:
<table id="employeeTable">
<tr>
<th>name</th>
<th>email</th>
<th>salary</th>
</tr>
<tr>
<td>Tom</td>
<td>tom@tom.com</td>
<td>5000</td>
<td><a href="deleteEmp?id=001">Delete</a> </td>
</tr>
</table>
我要向table里面删除元素节点,利用removeChild()方法得到下面代码:
var del = document.getElementsByTagName("a");
for (var i = 0;i<del.length;i++){
del[i].onclick = function () {
var tr = this.parentNode.parentNode;
var parent = document.createElement("employeeTable");
parent.removeChild(tr);
return false;
}
}
发现并不能实现删除功能。
后来发现改为tr.parentNode.removeChild(tr);
结果正确,所以<table>
标签并非为<tr>
元素节点的父节点。所以我对于<table>
标签的子节点进行输出得到下面结果:
var parent = document.getElementById("employeeTable");
var child = parent.childNodes;
alert(child.length+"<br / >"+child[0].nodeName+"<br / >"+child[1].nodeName);
记住:tr的父标签不是table!!!!!