children
.children(selector)
返回被選元素的所有直接子元素,不返回文本節點;
下面例子:給level-2的子元素設置border。比較使用children和find
html
<ul class="level-1"> <li class="item-i">I</li> <li class="item-ii">II <ul class="level-2"> <li class="item-a">A</li> <li class="item-b">B <ul class="level-3"> <li class="item-1">1</li> <li class="item-2">2</li> <li class="item-3">3</li> </ul> </li> <li class="item-c">C</li> </ul> </li> <li class="item-iii">III</li> </ul>
使用children
<script>$('ul.level-2').children().css('border', '1px solid red');</script>
結果:
使用find,非直接子元素的li也設置上了border
<script>$('ul.level-2').find('li').css('border', '1px solid red');</script>
如果需要獲得包含文本和注釋節點在內的所有子節點,請使用 .contents(),檢索 DOM 樹中的這些元素的直接子節點。
.contents() 方法也可以用於獲得 iframe 的內容文檔,前提是該 iframe 與主頁面在同一個域。
each
為每個匹配元素規定運行的函數,返回 false 可用於及早停止循環
$(selector).each(function(index,element))
參數:選擇器的 index 位置;element,當前的元素(也可使用 "this" 選擇器)
$("button").click(function(){
$("li").each(function(){
alert($(this).text())
});
});
eq
指定匹配元素合集中 index 上的一個
index:整數,指示元素的位置(最小為 0),如果是負數,則從集合中的最后一個元素往回計數。
注:如果無法根據指定的 index 參數找到元素,則該方法構造帶有空集的 jQuery 對象,length 屬性為 0。
下面代碼:為 index 為 2 的 div 添加類,將其變為藍色:
$("body").find("div").eq(2).addClass("blue");
filter
通過選擇器匹配元素集合中的指定元素集合。
示例:改變所有 div 的顏色,然后向類名為 "middle" 的類添加邊框:
$("div").css("background", "#c8ebcc") .filter(".middle") .css("border-color", "red");
has
返回 后代包含has選擇器的元素
示例:返回包含ul的li元素
<ul> <li>list item 1</li> <li>list item 2 <ul> <li>list item 2-a</li> <li>list item 2-b</li> </ul> </li> <li>list item 3</li> <li>list item 4</li> </ul>
$('li').has('ul').css('background-color', 'red');
next和nextAll:選擇下一個同輩元素
<body> <div><span>And Again</span></div> <p class="selected">Hello Again</p> <p class="selected">Hello Again</p> <script> $("div").next(".selected").css("background", "yellow"); </script> </body>
使用next:選中挨着的第一個.selected
使用nextAll,選中所有
相似的找上一個同輩元素:prev,prevAll
not
從匹配元素集合中刪除元素。參考文檔:http://www.w3school.com.cn/jquery/traversing_not.asp
is
根據選擇器、元素或 jQuery 對象來檢測匹配元素集合,如果這些元素中至少有一個元素匹配給定的參數,則返回 true。
用法參考文檔:http://www.w3school.com.cn/jquery/traversing_is.asp
siblings
匹配集合中每個元素的同胞,通過選擇器進行篩選是可選的。
<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');
代碼結果: