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

删除table列表的一行,有一个小疑惑。

我要删除列表里面的一行,虽然变量对象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>


正在回答

1 回答

自己测试解决了。<table>与<tr>之间会隐性生成<tbody>,而类似于Chrome这类型浏览器回车键算是一个文本节点所以<tbody>是<table>的lastChild.

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

举报

0/150
提交
取消

删除table列表的一行,有一个小疑惑。

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