[英]Check if elements (DOM Nodes) are siblings
如何檢查兩個 DOM 元素是否是兄弟元素?
<div>
<a></a>
<b></b>
<p></p>
</div>
<i></i>
測試<b>
是否是<a>
的兄弟但不是<i>
的兄弟
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)
var elm_p = document.querySelector('p'); var elm_a = document.querySelector('a'); var elm_i = document.querySelector('i'); // - iterate all the siblings of elm1 and check if any is elm2. // - make sure elm1 is a different node than elm2 // - rely on ES2015 destructuring & Array.some function areSiblings(elm1, elm2){ return elm1 != elm2 && [...elm1.parentNode.children].some(child => child == elm2) } // 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>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.