siblings() 方法


siblings([selected])   

   簡介:

      給定一個表示一組DOM元素的jQuery對象,該.siblings()方法允許我們在DOM樹中搜索這些元素的兄弟節點,並從匹配的元素構造一個新的jQuery對象。

     該方法可選地接受與我們可以傳遞給$()函數的相同類型的選擇器表達式如果提供了選擇器,元素將通過測試是否匹配。

     考慮一個有簡單列表的頁面: 

<ul>
  <li>list item 1</li>
  <li>list item 2</li>
  <li class="third-item">list item 3</li>
  <li>list item 4</li>
  <li>list item 5</li>
</ul>

      執行下面一段代碼:

$( "li.third-item" ).siblings().css( "background-color", "red" );

      此時瀏覽器會把除了三號之外其余所有標簽背景色都設置成紅色,而sivlings()相當於篩選器 ,在獲取的這些數組元素中在做一次條件篩選,並返回滿足條件的JQuery對象,這里注意是JQuery對象,如果選擇器中並未設置任何篩選條件那么他將會返回所有同級元素,為了方便理解下面插入一段另外一位大神的demo:  

<p id="n1">
    <span id="n2">
        <span id="n3">A</span>
    </span>
    <label id="n4">B</label>
    <span id="n5">
        <span id="n6">C</span>
    </span>
    <strong id="n7" class="active">D</strong>
    <span id="n8" class="active">E</span>
</p>
<p id="n9">
    <span id="n10"></span>
    <label id="n11"></label>
    <span id="n12" class="active"></span>
</p>

      JS部分如下:

//返回jQuery對象所有匹配元素的標識信息數組
//每個元素形如:#id
function getTagsInfo($doms){
    return $doms.map(function(){
        return "#" + this.id;
    }).get();
}

var $n4 = $("#n4");

//匹配n4的所有同輩元素(同輩元素不會包括n4自己,下同)
var $elements = $n4.siblings( );
document.writeln( getTagsInfo( $elements ) ); // #n2,#n5,#n7,#n8

//匹配n4所有的同輩span元素
var $matches = $n4.siblings("span");
document.writeln( getTagsInfo( $matches ) ); // #n2,#n5,#n8

var $label = $("label");
//匹配所有label元素的含有類名"active"的同輩元素
var $actives = $label.siblings(".active");
document.writeln( getTagsInfo( $actives ) ); // #n7,#n8,#n12

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM