如何检查两个DOM节点是否是没有jquery的兄弟节点?

时间:2018-03-15 02:13:20

标签: javascript html

如何检查两个DOM节点是否是没有jquery的兄弟节点?

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

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

3 个答案:

答案 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>