为了账号安全,请及时绑定邮箱和手机立即绑定

代码错误了

为什么删除不了第一行,点击第一个删除而把第二行给删除了

正在回答

1 回答

因为你错误使用了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>


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       467392    人
  • 解答问题       21877    个

本课程从如何插入JS代码开始,带您进入网页动态交互世界

进入课程

代码错误了

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信