今天需要解决一个问题,一个表格里面有好多行数据(好多个tr),每一行数据里面有一个删除的链接,点击删除的时候可以删除所点击的那一行(也就是tr),网络上搜索了一下,都是用一个函数遍历索引或者传索引进去删除,个人感觉麻烦,就偷懒用了下其他写法,代码如下:
<table border="1">
<tr>
<th>内容</th>
<th>删除</th>
</tr>
<tr>
<td>test1</td>
<td>
<a href="#" onclick="this.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode)">删除</a>
</td>
</tr>
</table>
this=>就是本对象的意思,也就是a这个标签。
parentNode=>对象的父节点,这里面就是a标签的父节点,也就是td。
this.parentNode.parentNode.parentNode这里面可以这么推:
this.parentNode=td;this.parentNode.parentNode=td.parentNode=tr;
this.parentNode.parentNode.parentNode=td.parentNode.parentNode=tr.parentNode=table。
removeChild=>移除孩子结点。
归纳一下就是table.removeChild(tr);这里面的tr就是我们所点击这一行,为什么是我们所点击这一行呢?因为this代表本对象,就是我们所点击的。