parentNode这个属性找到的父节点是哪个节点?
<div id="a-node">
<div id="b-node">
<div id="c-node">子节点内容部分</div>
</div>
</div>
将代码改成如上述代码所示 alert(fixContains(aNode,cNode));答案也是true,那么此处的c-node下的parentNode指代的是a-Node?还是b-Node?
<div id="a-node">
<div id="b-node">
<div id="c-node">子节点内容部分</div>
</div>
</div>
将代码改成如上述代码所示 alert(fixContains(aNode,cNode));答案也是true,那么此处的c-node下的parentNode指代的是a-Node?还是b-Node?
2016-10-30
刚刚又去试了下关键点在这:
while ((b = b.parentNode)){
if (b === a){
return true;
}
}
<div id="a-node">
<div id="b-node">
<div id="c-node">子节点内容部分</div>
</div>
</div>
在while循环中(①b = b.parentNode)将b的parentNode赋给b在和a进行比较,若a!==b跳过if继续执行while循环此时b=b.parentNode相当于①中的b.parentNode.parentNode,这时符合条件,进入if并返回true,如果再不合适就会变成b.parentNode.parentNode.parentNode,直到找到对应值或者null,如果为null,则返回false。
举报