jQuery遍歷之siblings()
jQuery是一個合集對象,如果想快速查找指定元素集合中每一個元素的同輩元素,此時可以用siblings()方法
理解節(jié)點查找關系:
如下藍色的class="item-2"的li元素,紅色的節(jié)點就是它的siblings兄弟節(jié)點
<ul class="level-3">
<li class="item-1">1</li>
<li class="item-2">2</li>
<li class="item-3">3</li>
</ul>
siblings()無參數(shù)
取得一個包含匹配的元素集合中每一個元素的同輩元素的元素集合
注意:jQuery是一個合集對象,所以通過siblings是匹配合集中每一個元素的同輩元素
siblings()方法選擇性地接受同一類型選擇器表達式
同樣的也是因為jQuery是合集對象,可能需要對這個合集對象進行一定的篩選,找出目標元素,所以允許傳一個選擇器的表達式
下面我們來寫一個實例:
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-type" content="text/html; charset=utf-8" /> <title></title> <style> .left { width: auto; height: 150px; } .left div { width: 150px; height: 100px; padding: 5px; margin: 5px; float: left; background: #bbffaa; border: 1px solid #ccc; } a { display: block; } </style> <script src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script> </head> <body> <h2>siblings方法()</h2> <div class="left first-div"> <div class="div"> <ul class="level-1"> <li class="item-1">1</li> <li class="item-2">2</li> <li class="item-3">3</li> </ul> </div> <div class="div"> <ul class="level-2"> <li class="item-1">1</li> <li class="item-2">2</li> <li class="item-3">3</li> </ul> </div> <div class="div"> <ul class="level-3"> <li class="item-1">1</li> <li class="item-2">2</li> <li class="item-3">3</li> </ul> </div> </div> <button>點擊:siblingsv無參數(shù)</button> <button>點擊:siblings傳遞選擇器</button> <script type="text/javascript"> $("button:first").click(function() { $('.item-2').siblings().css('border', '2px solid red'); }) </script> <script type="text/javascript"> $("button:last").click(function() { //找到class=item-2的所有兄弟節(jié)點 //然后篩選出最后一個,加上藍色的邊 $('.item-2').siblings(':last').css('border', '2px solid blue'); }) </script> </body> </html>
注:sibings找到的是所有的同輩元素,而不是相鄰的前后同輩