在之前的學習,我們知道hasClass()、is()等方法都是過濾符合條件的元素。但是在jQuery中,我們可以使用not()方法來過濾jQuery對象中“不符合條件”的元素,並且返回剩下的元素。
語法:
$().not(expression)
說明:
參數expression是一個jQuery選擇器表達式。所謂的jQuery選擇器表達式,說白了就是我們在前幾章所學到的選擇器。
舉例:
在線測試
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script type="text/javascript" src="../App_js/jquery-1.12.0.min.js"></script>
<script type="text/javascript">
$(function () {
$("ul li").not("#red").css("color", "red");
})
</script>
</head>
<body>
<ul>
<li id="red">紅色red</li>
<li>橙色orange</li>
<li>黃色yellow</li>
<li>綠色green</li>
<li>藍色blue</li>
<li>紫色purple</li>
</ul>
</body>
</html>
在浏覽器預覽效果如下:
分析:
$("li").not("#red")表示選取id不是red的li元素。
$("ul li").not("#red").css("color", "red");
上面這段代碼等價於:
$("ul li:not(#red)").css("color", "red");
其實反向過濾not()方法類似於jQuery的:not()選擇器,跟eq()方法與:eq()選擇器一樣的道理,not()方法也是對jQuery選擇器的一種補充,使得我們更加方便靈活地操作元素。