$(elements).not() 和 $(elements).filter() 有什么区别

Joh*_*lia 2 jquery

只是出于兴趣,使用它们有什么主要优点/缺点吗?

直接从文档中说:

  1. not() = 从匹配元素集中删除元素。

  2. filter()= 将匹配元素集减少到与选择器匹配或通过函数测试的元素集。

例如,当我传递一个函数时,它们都具有相同的结果?在这种情况下哪个最好?

$("select").change(function() {
    var val = this.value;
    $("tr").hide().filter(function(index){
        return ($(this).data("foo") == val || val == 0);
    }).show();
});
Run Code Online (Sandbox Code Playgroud)

Adr*_*iro 5

区别只是句法方法。

使用not(),您可以指定您想要的内容;用filter()你指定你什么想要。

  • 同意,[使用 `not()` 的演示](http://jsfiddle.net/davidThomas/5RFHU/1/),以及 [使用 `filter()` 的演示](http://jsfiddle.net/davidThomas/ 5RFHU/2/)。 (2认同)