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

删除函数deleteRow()中,为什么要获取到最后一个节点,不太明白。

<!DOCTYPE html>
<html>
 <head>
  <title> new document </title>  
  <meta charset='utf-8'/>   
  <script >  
     window.onload = function(){
        Highlight();
     }  
     function addOne(obj){ 
        var tbody = document.getElementById('table').lastChild;  
        var tr = document.createElement('tr');  
         
         var td = document.createElement("td");
         td.innerHTML = "<input type='text'/>";
         tr.appendChild(td);
         
         td = document.createElement("td");     
         td.innerHTML = "<input type='text'/>";
         tr.appendChild(td);
         
         td = document.createElement("td");    
         td.innerHTML = "<a href='javascript:;' onclick='deleteRow(this)'>删除</a>";
         tr.appendChild(td);   
         
         tbody.appendChild(tr);   
        Highlight();
        }

     function deleteRow(obj){
        var tbody = document.getElementById('table').lastChild;//最后的节点不是空白节点吗  
        var tr = obj.parentNode.parentNode;
         tbody.removeChild(tr);
     }
     function Highlight(){
        var tbody = document.getElementById('table').lastChild;    
        trs = tbody.getElementsByTagName('tr');   
        for(var i =1;i<trs.length;i++){
            trs[i].onmouseover = function(){
                this.style.backgroundColor ="#f2f2f2";
            } 
            trs[i].onmouseout = function(){
                this.style.backgroundColor ="#fff";
            } 
        }  
     }

  </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="javascript:;" onclick="deleteRow(this)">删除</a></td>
       </tr>

       <tr>
        <td>xh002</td>
        <td>刘小芳</td>
        <td><a href="javascript:;" onclick="deleteRow(this)">删除</a></td>
       </tr>  

       </table>
       <input type="button" value="添加一行" onclick="addOne()" />
 </body>
</html>


正在回答

2 回答

你自己将之打印一下你就知道了;

table的子节点是空白节点和tbody节点;

tbody节点里的子节点才是 TR TR TR 

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

再去西藏 提问者

哦 , 为什么table里会隐藏着tbody节点
2015-09-29 回复 有任何疑惑可以回复我~
#2

再去西藏 提问者

知道了,疏忽了。
2015-09-29 回复 有任何疑惑可以回复我~
#3

再去西藏 提问者

非常感谢!
2015-10-18 回复 有任何疑惑可以回复我~
#4

Andis 回复 再去西藏 提问者

同问啊 搞清楚没 我还不清楚 - -!
2015-12-05 回复 有任何疑惑可以回复我~
查看1条回复

求解答啊 。。。。

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

举报

0/150
提交
取消

删除函数deleteRow()中,为什么要获取到最后一个节点,不太明白。

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