如何判断两个DOM元素是否是兄弟?
示例 DOM 结构:
<div>
<a></a>
<b></b>
<p></p>
</div>
<i></i>
测试是否<b>
是 <a>
的 sibling 但不是 <i>
最佳答案
jQuery:
var a = $('a'),
b = $('b'),
i = $('i');
a.siblings().is(b); // true (since "b" is sibling of "a")
a.siblings().is(i); // false (since "i" is sibling of "div" and not of "a")
a.siblings().is(a); // false (can't be singling of itself)
Vanilla :
const elm_p = document.querySelector('p');
const elm_a = document.querySelector('a');
const elm_i = document.querySelector('i');
const areSiblings = (elm1, elm2) =>
elm1 != elm2 && elm1.parentNode == elm2.parentNode;
// tests
[
[elm_p, elm_a], // true
[elm_a, elm_p], // true
[elm_a, elm_a], // false
[elm_a, elm_i] // false
].forEach(([a,b]) => console.log(areSiblings(a,b)))
<div>
<a></a>
<b></b>
<p></p>
</div>
<i></i>
关于javascript - 检查元素(DOM 节点)是否是 sibling ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37277378/