簡體   English   中英

檢查元素(DOM 節點)是否是兄弟

[英]Check if elements (DOM Nodes) are siblings

如何檢查兩個 DOM 元素是否是兄弟元素?

DOM 結構示例:

<div>
    <a></a>
    <b></b>
    <p></p>
</div>
<i></i>

測試<b>是否是<a>的兄弟但不是<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)

香草:

 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.

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