簡體   English   中英

如何檢查兩個DOM節點是否是沒有jquery的兄弟姐妹?

[英]How to check if two DOM nodes are siblings without jquery?

您如何檢查兩個DOM節點是否是沒有jquery的兄弟姐妹?

<div>
   <a></a>
   <b></b>
   <c>
       <d></d>
   </c>
</div>

ac是兄弟姐妹,而ad不是兄弟姐妹。 aa不是兄弟姐妹。

只需檢查其.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM