jquery not
jQuery not() 方法
jQuery 的 not() 方法用于从匹配的元素集合中移除符合特定条件的元素。它返回一个新的 jQuery 对象,包含不满足条件的元素。
基本语法
$(selector).not(filter)
selector:初始选择的元素集合。filter:用于排除元素的条件,可以是选择器、DOM 元素、函数或 jQuery 对象。
使用选择器过滤
通过传入选择器字符串,排除匹配该选择器的元素:
$("div").not(".exclude"); // 选择所有 div,但排除 class 为 "exclude" 的 div
使用 DOM 元素过滤
传入 DOM 元素,排除该元素:
var excludedElement = document.getElementById("exclude");
$("div").not(excludedElement); // 排除指定的 DOM 元素
使用函数过滤
通过函数动态判断是否排除元素,函数返回 true 时排除当前元素:
$("div").not(function(index) {
return $(this).hasClass("exclude"); // 排除 class 为 "exclude" 的 div
});
使用 jQuery 对象过滤
传入另一个 jQuery 对象,排除其中包含的元素:
var $excluded = $(".exclude");
$("div").not($excluded); // 排除 $excluded 中的元素
与 filter() 的对比
not()排除匹配条件的元素。filter()保留匹配条件的元素。$("div").not(".exclude"); // 排除 class 为 "exclude" 的 div $("div").filter(".include"); // 仅保留 class 为 "include" 的 div
实际应用示例
从表格中排除某些行:
$("tr").not(":first"); // 排除表格的第一行(表头)
排除隐藏的元素:
$("div").not(":hidden"); // 排除所有隐藏的 div
注意事项
not()不会修改原始 jQuery 对象,而是返回一个新的对象。- 可以链式调用其他 jQuery 方法,如
not().addClass()。 - 传入的函数中,
this指向当前处理的 DOM 元素。







