猿问

请问为什么说没有parentNode这个属性,在 创建删除函数中

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

         for(var i =0 ;i<tr.length;i++){

            changeBackground(tr[i]); 

         }


}

 function changeBackground(obj){

         obj.onmouseover=function(){

             obj.style.background="#f2f2f2";

         }

         obj.onmouseout = function(){

             obj.style.background="#fff";

         }

     }

      // 编写一个函数,供添加按钮调用,动态在表格的最后一行添加子节点;

      var num =2;

    function add(){

        num++; 

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

        var tr = document.createElement("tr");

        var th = document.createElement("td");

        var tx = document.createElement("td");

        var del = document.createElement("td");

        th.innerHTML = "x00"+num;

        tx.innerHTML = "你猜";

        del.innerHTML= "<a href=\"javascript:del(this)\">删除</a>";

        tab.appendChild(tr);

        tr.appendChild(th);

        tr.appendChild(tx);

        tr.appendChild(del);

       

        var newTr = document.getElementsByTagName("tr");

        for(var i = 0; i< newTr.length;i++ ){

           changeBackground(newTr[i]); 

        };

    }

     

     // 创建删除函数

     function del(obj){

        var tr=obj.parentNode.parentNode;

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

  </tr>


  <tr>

<td>xh002</td>

<td>刘小芳</td>

<td><a href="javascript:del(this);" >删除</a></td>

  </tr>  


  </table>

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

 </body>

</html>


呆呆呆
浏览 1478回答 1
1回答

李晓健

<td><a onclick="del(this)" href="javascript:void(0);" >删除</a></td> <td><a onclick="del(this)" href="javascript:void(0);" >删除</a></td>这里不可以通过 href去调用删除方法,否则他的 this 并不是指向a的本身,他是指向window的。如果你的问题已解决,请记得采纳答案!
随时随地看视频慕课网APP
我要回答