過濾選擇
要過濾選擇,你可以使用 .filter()
方法。
在選擇上呼叫該方法並返回新選擇。如果過濾器與元素匹配,則將其新增到返回的選擇中,否則將忽略它。如果沒有匹配的元素,則返回空選擇。
HTML
這是我們將使用的 HTML。
<ul>
<li class="zero">Zero</li>
<li class="one">One</li>
<li class="two">Two</li>
<li class="three">Three</li>
</ul>
選擇
使用選擇器進行過濾是篩選選擇的更簡單方法之一。
$("li").filter(":even").css("color", "green"); // Color even elements green
$("li").filter(".one").css("font-weight", "bold"); // Make ".one" bold
功能
如果無法使用選擇器,則使用函式過濾選擇很有用。
為選擇中的每個元素呼叫該函式。如果它返回 true
值,則元素將被新增到返回的選擇中。
var selection = $("li").filter(function (index, element) {
// "index" is the position of the element
// "element" is the same as "this"
return $(this).hasClass("two");
});
selection.css("color", "green"); // ".two" will be colored green
分子
你可以按 DOM 元素進行過濾。如果 DOM 元素在選擇中,那麼它們將包含在返回的選擇中。
var three = document.getElementsByClassName("three");
$("li").filter(three).css("color", "green");
選擇
你還可以通過其他選擇過濾選擇。如果一個元素都在兩個選擇中,那麼它將包含在返回的選擇中。
var elems = $(".one, .three");
$("li").filter(elems).css("color", "green");