第九章编程练习 为什么获取tbody后面要加一个lastChild

来源:9-22 编程练习

慕侠4489241

2016-04-19 10:47

function deleteRow(obj){    var tbody = document.getElementById('table').lastChild;   var tr = obj.parentNode.parentNode; tbody.removeChild(tr); }

为什么获取tbody后面要加一个lastChild


写回答 关注

1回答

  • DMSF
    2016-04-19 19:57:37
    已采纳

    table习惯上,我们常常把标签<tbody></tbody> 省略,但是在dom中他默认有tbody这一层,所以获取的是<tbody></tbody>里面内容,也就是

     

    <tr>

        <th>学号</td>

        <td>姓名</td>

        <td>操作</td>

         </tr>


        <tr>

        <td>xh001</td>

        <td>王小明</td>

        <td><a href="javasript:;" >删除</a></td>

         </tr>


         <tr>

        <td>xh002</td>

        <td>刘小芳</td>

        <td><a href="javasript:;" >删除</a></td>

         </tr>

    如果alert (table.nodeName);结果是TBODY.

    如果把

    var tbody = document.getElementById('table').lastChild;

    改成:

    var tbody = document.getElementById('table').firstChild;

    那么

    在非IE浏览器中结果是:

    alert(table.nodeName)结果将是#text;

    所以需要获取table的lastChild,然后作为父节点,删除子节点.


    sz_yee...

    可以看一下這個的整理: http://www.cnblogs.com/yanglin-gdqy-blog/p/4534322.html

    2016-09-09 02:46:03

    共 3 条回复 >

JavaScript进阶篇

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

468060 学习 · 21891 问题

查看课程

相似问题