汾汾学前端
2015-10-28 09:53
为什么删除不了第一行,点击第一个删除而把第二行给删除了
因为你错误使用了lastChild,导致每次调用deletetr()函数时都自动定位到table的最后一个子节。另外deletetr()函数的参数obj你根本没使用,obj在这个函数里的意思表示<a>这个元素节点,所以建议自己把写的代码再捋一捋,看看每个节点对象分别是谁,附改进版。
function deletetr(obj){
var node=obj.parentNode.parentNode;
node.parentNode.removeChild(node); //这里不是多次一举,node是需要删除的对象,通过parentNode先找到父辈,然后删除。
}
<!--对应onclick要加 this 关键词,不然函数不知道调用的对象-->
<tr>
<td>xh001</td>
<td>王小明</td>
<td><a href="javascript:;" onclick="deletetr(this)">删除</a></td> <!--在删除按钮上添加点击事件 -->
</tr>
JavaScript进阶篇
468195 学习 · 21891 问题
相似问题