如何检查两个DOM节点是否是没有jquery的兄弟节点?
<div>
<a></a>
<b></b>
<c>
<d></d>
</c>
</div>
a
和c
是兄弟姐妹,但a
和d
不是。
a
和a
不是兄弟姐妹。
答案 0 :(得分:4)
只需查看他们的.parentElement
财产。
let isSibling = el1 !== el2 && el1.parentElement === el2.parentElement;
答案 1 :(得分:2)
为什么不检查parentNode
(或parentElement
)属性?
function areSiblings(a, b) {
return a!=b && a.parentNode == b.parentNode;
}
答案 2 :(得分:1)
只需使用.parentElement
or .parentNode
来确定他们是否共享同一个父母。
var a = document.querySelector('a');
var b = document.querySelector('b');
var c = document.querySelector('c');
var d = document.querySelector('d');
function areSiblings(x, y) {
return x !== y && x.parentElement === y.parentElement;
}
function areSiblings2(x, y) {
return x !== y && x.parentNode === y.parentNode;
}
console.log(areSiblings(a, b)); // true
console.log(areSiblings(a, c)); // true
console.log(areSiblings(a, d)); // false
console.log(areSiblings2(a, b)); // true
console.log(areSiblings2(a, c)); // true
console.log(areSiblings2(a, d)); // false
<div>
<a></a>
<b></b>
<c>
<d></d>
</c>
</div>