[英]How to check if two DOM nodes are siblings without jquery?
您如何檢查兩個DOM節點是否是沒有jquery的兄弟姐妹?
<div>
<a></a>
<b></b>
<c>
<d></d>
</c>
</div>
a
和c
是兄弟姐妹,而a
和d
不是兄弟姐妹。 a
和a
不是兄弟姐妹。
只需檢查其.parentElement
屬性。
let isSibling = el1 !== el2 && el1.parentElement === el2.parentElement;
為什么不檢查parentNode
(或parentElement
)屬性?
function areSiblings(a, b) {
return a!=b && a.parentNode == b.parentNode;
}
只需使用.parentElement
或.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>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.