提供されたjQueryオブジェクトをフィルタリングして.filter(expr)関数に類似したいくつかの要素のみを返すjQueryプラグインを構築しようとしています。これは、現実世界の問題よりも自分自身の教育のためのものです。ただし、提供された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オブジェクトのサブセットを返したくありません。