如何从我的选择中排除多个键

时间:2011-07-22 11:25:39

标签: jquery filter key

为什么我不能这样做:

$(elem).children().filter(':not(:eq(0,1))').doStuff();

如何从我的选择中排除多个键?

由于

1 个答案:

答案 0 :(得分:0)

如果它们从一开始就是全部,那么这将起作用:

$(elem).children().slice(2).doStuff();

否则,这可能有效:

var exclude = [2,5];

$(elem)
.children()
.filter(function(i){ return exclude.indexOf(i) === -1; })
.doStuff();

你可以把它变成一个不错的插件:

$.fn.exclude = function(){
   var args = arguments;
   return this.filter(function(i){ return args.indexOf(i) === -1; });
};

$(elem).children().exclude(0,3,8).doStuff();

可以做更好的类型处理和优化,但这就是主意。