戴诛Uhziad
2016-12-19 23:04
我要删除列表里面的一行,虽然变量对象table 可以用obj.parentNode.parentNode.parentNode来代替这个方法是可行的。但是为什么下面代码里面去掉lastChild会不行了呢。层次不是刚刚好吗???求解
function deleteItem(obj){
var table = document.getElementById('table').lastChild;/*问题是这里*/
var tr = obj.parentNode.parentNode;
table.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 href="#" onclick = "deleteItem(this);return false;" >删除</a></td>
</tr>
<tr>
<td>xh002</td>
<td>刘小芳</td>
<td><a href="javasript:;" onclick = "deleteItem(this);" >删除</a></td>
</tr>
</table>
<input type="button" value="添加一行" onclick = "addTo();"/>
</body>
自己测试解决了。<table>与<tr>之间会隐性生成<tbody>,而类似于Chrome这类型浏览器回车键算是一个文本节点所以<tbody>是<table>的lastChild.
JavaScript进阶篇
469060 学习 · 22582 问题
相似问题