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

tablev[0].removeChild(delNode); //为什么这行代码删除不了原行的表格行呢?

<!DOCTYPE html>
<html>
 <head>
  <title> new document </title>  
  <meta http-equiv="Content-Type" content="text/html; charset=gbk"/>   
  <script type="text/javascript">
 
      window.onload = function(){                  
     // 鼠标移动改变背景,可以通过给每行绑定鼠标移上事件和鼠标移除事件来改变所在行背景色
         
        var trv=document.getElementsByTagName("tr");
       
        for(var i=0;i<trv.length;i++){
                             
            trv[i].onmouseover=function(){
                this.style.backgroundColor="#f2f2f2";
            }
            trv[i].onmouseout=function(){
                this.style.backgroundColor="#fff";
            }
         
        }
     }
     
      // 编写一个函数,供添加按钮调用,动态在表格的最后一行添加子节点;
     var tablev=document.getElementsByTagName("table");
     
     function add(){
         tr=document.createElement("tr");
         tr.onmouseover=function(){this.style.backgroundColor="#f2f2f2";};
         tr.onmouseout=function(){this.style.backgroundColor="#fff";};
         var t1=tablev[0].appendChild(tr);
         t1.innerHTML="<td>dfsaf</td><td>xff</td><td><a href='javascript:;' onclick='del(this)'>删除</a></td>";
         
     }
            
       
     // 创建删除函数
      function del(obj){
          
          var delNode=obj.parentNode.parentNode;
         //tablev[0].removeChild(delNode);  //为什么这行代码删除不了原行的表格行呢?
         delNode.parentNode.removeChild(delNode); //而这样却行呢?
      }  
     


  </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="del(this)">删除</a></td>   <!--在删除按钮上添加点击事件  -->
       </tr>

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

       </table>
       <input type="button" value="添加一行"  onclick="add()"/>   <!--在添加按钮上添加点击事件  -->
 </body>
</html>

正在回答

1 回答

delNode.parentNode是tbody吧

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

active437153 提问者

那为什么新添加的行却可以删除呢!
2014-12-01 回复 有任何疑惑可以回复我~
#2

active437153 提问者

是不是tablev[0]无法确定是其要删除节点的父节点呢,所以才删除不了呢?
2014-12-01 回复 有任何疑惑可以回复我~
#3

T90

tablev[0]等价于document.getElementById('table').lastChild。。 应该是吧
2014-12-02 回复 有任何疑惑可以回复我~
#4

active437153 提问者 回复 T90

呵,只有一个table,是第一个也是最后一个。
2014-12-03 回复 有任何疑惑可以回复我~
查看1条回复

举报

0/150
提交
取消

tablev[0].removeChild(delNode); //为什么这行代码删除不了原行的表格行呢?

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