问答详情
源自:9-22 编程练习

这样删除,怎么删除不了,不能这样写嘛?

<!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 trs = document.getElementsByTagName("tr");

         for(var i =1;i<trs.length;i++){

          trs[i].onmouseover = function(){this.style.backgroundColor="#908794";}


          trs[i].onmouseout = function(){this.style.backgroundColor="#fff";}

         }  


         var strd = document.getElementsByTagName("a");

         var tanode = document.getElementById("table");

            

            for(var n=0;n<strd.length;n++){

            //if(strd[n].innerHTML=="删除"){

                    strd[n].onclick = function(){

                        var tr = this.parentNode.parentNode;

                    tanode.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="#">删除</a></td>   <!--在删除按钮上添加点击事件  -->

  </tr>


  <tr>

<td>xh002</td>

<td>刘小芳</td>

<td><a href="#">删除</a></td>   <!--在删除按钮上添加点击事件  -->

  </tr>  


  </table>

  <input type="button" value="添加一行"/>   <!--在添加按钮上添加点击事件  -->

 </body>

</html>


提问者:4_in_morning 2015-03-17 16:36

个回答

  • 康振宁
    2015-03-18 20:09:08
    已采纳

      tanode.removeChild(tr); 这句话改成 tanode.lastChild.removeChild(tr);

    因为tr在tbody中,而table的子节点结构是text和tbody所以需要先获取tbody中的最后一个节点,再删除tr