一个很简单的方法,分别获取两个元素的父节点,判断父节点是否相同,代码如下:
HTML:
<div id="one">
<p id = "p1" class="p1">Hello world!</p>
<p id = "p2" class="p2">Hi I am Lily~~~</p>
</div>
JavaScript:
function isSiblilngNode(element,siblingNode){
if(element.parentNode == siblingNode.parentNode){
return true;
}else{
return false;
}
}
var cc = document.getElementById("p1");
var dd = document.getElementById("p2");
var div = document.getElementById("one");
console.log(isSiblilngNode(cc,dd));//->true
console.log(isSiblilngNode(cc,div));//->false
我不确定这个方法是否有失偏颇,试了其它的,例如把if括号里的语句换成:
element.parentNode.hasChildNodes(siblingNode);
但是判断结果永远是true,我不知道为什么,有懂的大牛如果可以的话,麻烦给讲一下,谢谢。