function removeTr(obj){ var tbody = document.getElementById("table").lastChild; var tr = obj.parentNode.parentNode; tbody.removeChild(tr); }
http://www.imooc.com/code/1636
我的理解:
其中的删除函数,定义的第一个tbody变量选中的应当是表格中的最后一个元素,即最后一个tr,
第二行tr变量选中的是点击“删除”链接以后父节点的父节点(a->td->tr),即该“删除”链接所在的行;
问题如下:
如果点击的不是最后一行,那么按照我的理解,对应的tr元素也是不相同的,但是通过这个函数却确实能起到删除子节点的效果,为何?
两次选取对应的应当是同级的元素,却能通过操作tbody的子节点来删除任意行,这又是为何?
如果我的理解有误,还希望能够指出。
感谢大家的解答!
李晓健
Caballarii
木子兮