我正在尝试构建一个 jQuery 插件来过滤提供的 jQuery 对象,只返回一些类似于 .filter(expr) 函数的元素。这更多是为了教育我自己而不是现实世界的问题。但是我不知道如何从提供的 jQuery 对象中删除元素(或者只返回某些其他元素,并不重要)。
代码示例(是的,我知道您可以使用 filter(':Nth-child(n)') 执行此操作,但正如我所说,这是为了教育自己):
$.fn.notNthElement = function(n){
var i=0;
this.each( function(){
i++;
if(i==n){
//remove element from this jQuery object (not from DOM)
i=0;
}
//or alternatively:
else{
//push this to some result jQuery object
}
});
return this; //or when going the alternative route, return the result jQuery object
}
如何做到这一点?
编辑
我真的在寻找一种从 jQuery 对象中删除特定元素的方法,而不是解决上述问题的一些聪明方法。所以我不想返回提供的 jQuery 对象的子集。