请问为什么要加lastChild?...

来源:9-22 编程练习

其实TAMA酱不是我名字

2016-03-28 14:24

        function deletet(obj){
    var x = document.getElementById("table").lastChild;
    var j = obj.parentNode.parentNode;
    x.removeChild(j);
        }

是要让x = j的父元素的,可是为什么table的lastchild是j的父元素?

 <table  id="table">
       <tr>
        <th>学号</th>
        <th>姓名</th>
        <th>操作</th>
       </tr>  

       <tr>
        <td>xh001</td>
        <td>王小明</td>
        <td><a href="javascript:;" onclick="deletet(this)">删除</a></td>   <!--在删除按钮上添加点击事件  -->
       </tr>

       <tr>
        <td>xh002</td>
        <td>刘小芳</td>
        <td><a href="javascript:;" onclick="deletet(this)">删除</a></td>   <!--在删除按钮上添加点击事件  -->
       </tr>  

       </table>

写回答 关注

3回答

  • 世界的我
    2016-03-31 13:12:29
    <table>
    <tr><tr/>
    <tr><tr/>
    <tr><tr/>
    <table/>

    应该是等价于

    <table>

    <tbody>
    <tr><tr/>
    <tr><tr/>
    <tr><tr/>
    <tbody/><table/>

    <tr>元素的父节点是tbody,<table>元素的的子节点tbody和文本节点,如果第一种输入的话经测试好像是在开始table元素之后有一个文本元素,结尾处元素中间没有文本,就像我第二次输入的那样。第一种和第二种输入,<table>元素的的子元素是2个,如果把第二种输入<tbody>放到紧跟在<table>后就只有一个子节点<tbody>了。希望能帮到你


  • qq_Dior许_0
    2016-03-28 16:46:17

    这里把所有<tr>标签设置成一个数组,用到lastChild,则表示要用到<table>中的最后一个<tr>标签

    然而你这里其实用firstChild也是可以的,因为这里只是要得到x这个<table>父节点

  • qq_北午撒蛮_0
    2016-03-28 16:07:58

    lastChild用来找到本标签最后一个子元素

JavaScript进阶篇

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

468194 学习 · 21891 问题

查看课程

相似问题