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

问一下为什么删除这样写总是删不了,没啥反应呐?


 function removeChild(obj){

          var tr = obj.parentNode.parentNode.parentNode.parentNode;

      tr.parentNode.removeChild(tr);

     }

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

   </tr>


   <tr>

<td>xh002</td>

<td>刘小芳</td>

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

   </tr>  


   </table>

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

 </body>


提问者:慕仔9384538 2018-09-03 21:49

个回答

  • 慕仔9384538
    2018-09-04 13:47:19

    哦哦,一下子就通了,谢谢!

  • 慕盖茨9092533
    2018-09-04 10:06:58

    首先你要明白,obj指代的是谁?<a href="javascript:;" onclick="removeChild(this)">删除</a>,removeChild()函数,里面的this指的是a标签,通过HTML代码可知,a标签的父元素是td标签,td标签的父元素是tr,所以函数里面应该是 var tr = obj.parentNode.parentNode;