语法:
$().not(selector或fn)
当 not() 方法参的数是一个选择器时,表示使用选择器来过滤不符合条件的元素,然后选取其余元素。当 not() 方法的参数是一个函数时,表示使用函数来过滤不符合条件的元素,然后选取其余元素。举例:选择器过滤
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <script src="js/jquery-1.12.4.min.js"></script> <script> $(function () { $("li").not(".select").css("color","red"); }) </script> </head> <body> <ul> <li>HTML</li> <li>CSS</li> <li>JavaScript</li> <li class="select">jQuery</li> <li>Vue.js</li> </ul> </body> </html>预览效果如图 1 所示。
图 1:选择器过滤的效果
$("li").not(".select") 表示选取除了 class 为 select 以外的所有 li 元素。实际上,下面两行代码是等价的。
$("li").not(".select").css("color","red"); $("li:not(.select)"). css("color","red");not() 方法与 :not 选择器相似,这个与 eq() 方法和 :eq() 选择器相似是一样的道理。
举例:函数过滤
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <script src="js/jquery-1.12.4.min.js"></script> <script> $(function () { $("li").not(function(){ return $(this).text() == "jQuery"; }).css("color","red"); }) </script> </head> <body> <ul> <li>HTML</li> <li>CSS</li> <li>JavaScript</li> <li>jQuery</li> <li>Vue.js</li> </ul> </body> </html>预览效果如图 2 所示。
图 2:函数过滤的效果
$("li").not(function(){return$(this).text()=="jQuery";})
表示选取内部文本不是为“jQuery”的 li 元素。