Jquery 如何从我的选择中排除多个关键点
为何我不能这样做:Jquery 如何从我的选择中排除多个关键点,jquery,filter,key,Jquery,Filter,Key,为何我不能这样做: $(elem).children().filter(':not(:eq(0,1))').doStuff(); 如何从选择中排除多个关键点 谢谢如果它们都是从一开始的,那么这就行了: $(elem).children().slice(2).doStuff(); var exclude = [2,5]; $(elem) .children() .filter(function(i){ return exclude.indexOf(i) === -1; }) .doStuff
$(elem).children().filter(':not(:eq(0,1))').doStuff();
如何从选择中排除多个关键点
谢谢如果它们都是从一开始的,那么这就行了:
$(elem).children().slice(2).doStuff();
var exclude = [2,5];
$(elem)
.children()
.filter(function(i){ return exclude.indexOf(i) === -1; })
.doStuff();
否则,这可能会起作用:
$(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();
可以更好地进行类型处理和优化,但这正是我的想法。如果我想排除键0和键8,但不是两者之间的所有内容,该怎么办?@Esben,你可以过滤它们