【发布时间】:2016-05-17 13:19:28
【问题描述】:
如何检查两个 DOM 元素是否为兄弟?
示例 DOM 结构:
<div>
<a></a>
<b></b>
<p></p>
</div>
<i></i>
测试<b> 是否是<a> 的兄弟,但不是<i> 的兄弟
【问题讨论】:
标签: javascript jquery dom
如何检查两个 DOM 元素是否为兄弟?
<div>
<a></a>
<b></b>
<p></p>
</div>
<i></i>
测试<b> 是否是<a> 的兄弟,但不是<i> 的兄弟
【问题讨论】:
标签: javascript jquery dom
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)
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>
【讨论】: