関数fooにjqueryでラップされたノードを引数として使用させます。ノードセットでこの関数を実行するためのより洗練された方法はありますか?
私のやり方:
$('.for-foo').each(function () {
foo($(this));
});
関数fooにjqueryでラップされたノードを引数として使用させます。ノードセットでこの関数を実行するためのより洗練された方法はありますか?
私のやり方:
$('.for-foo').each(function () {
foo($(this));
});
あなたはそれをプラグインにすることができます:
$.fn.foo = function(){
return this.each(function(){
// do something to each element "this"
});
};
使用法:
$('.for-foo').foo();
これにより、他のjQuery関数とチェーン可能になります。
次のように、選択範囲を関数に渡すことができます。
foo($(".for-foo"));
関数foo
は次のようになります。
function foo(selection) {
selection.each(function() {
// do stuff with each current node
});
}
foo
厄介ですが、少なくとも呼び出す方がはるかにクリーンです。
あなたの目的はfoo()
明確ではなく、答えはそれによって異なる場合があります。典型的な例の1つは次のとおりです。
function foo($el) {
$el.css('color', function(i) {
return ['black', 'green', 'yellow', 'blue', 'red'][i];
});
}
foo( $('.for-foo') );