删除函数怎么理解
function del(obj) { var tr=obj.parentNode.parentNode; tr.parentNode.removeChild(tr); } 这段代码中为什么有3个parentNode,不应该是一个就转到td了吗
function del(obj) { var tr=obj.parentNode.parentNode; tr.parentNode.removeChild(tr); } 这段代码中为什么有3个parentNode,不应该是一个就转到td了吗
2020-01-01
其他回答都说的挺好的了 我就简单发表一下我的看法
1、首先看看删除子集的表达式和用法:father.removeChild(child)
2、要实现本节内容要求的行删除,实则为删除一个<tr>,需要以<table>为father,<tr>为child来执行删除子集
3、obj显然只能是包含“删除”二字的<a>标签,显然<table>是<a>的三级父标签,<tr>是<a>的二级父标签,因此,你提问里的tr=obj.parentNode.parentNode;
table=tr.parentNode=obj.parentNode.parentNode.parentNode;
(斜体字为你所问的3个parentNode来源)
del();
function del(){
var getA = document.getElementsByTagName("a");
for(var i=getA.length-1;i>=0;i--){
var te=getA[i].parentNode.parentNode.parentNode;
getA[i].onclick = function(){
te.removeChild(this.parentNode.parentNode);
// this.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode);
}
}
}
举报