2

只是出于兴趣,使用其中任何一个有什么主要优点/缺点吗?

直接从文档中说:

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

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

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

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

2 回答 2

5

区别只是句法方法。

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

于 2012-10-30T15:50:52.987 回答
2

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

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

根据性能观点过滤器更快

filter()>>not()

于 2012-10-30T15:51:02.123 回答