是什么区别$(元素).not()和$(元素).filter()

时间:2012-10-30 15:48:09

标签: jquery

只是出于兴趣,是否有任何主要优点/缺点使用?

直接从文档中说:

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

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

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

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

2 个答案:

答案 0 :(得分:3)

区别在于语法方法。

使用not(),指定想要的内容;使用filter()指定想要的内容。

答案 1 :(得分:1)

filter() =>包含选择器表达式的字符串,以匹配当前的元素集。

not() =>内部接受所有选择器:not(),例如:: not(div a)和:not(div,a)。

根据性能观点过滤更快

filter()>> not()