質問を説明するために、 jsperfで簡単な例を作成しました。jsperfの例では、スタイルプロパティがリンクに設定されています(これはループなしで実行できることを認識しています)。
jQueryオブジェクトを反復処理するための最も効率的な方法は何でしょうか?
jsperfの結果によると、パフォーマンス.each
は非常に優れていますが、最速ではありません。おそらく、私が見逃しているさらに良い解決策があります。
1. .eachの例:
$('body').find('div.iojo-test-container a').each(function() {
$(this).css('color', 'red');
});
2. forループの例(.eachよりわずかに高速):
var $a = $('body').find('div.iojo-test-container a');
for (var i = $a.length; --i;) {
$($a[i]).css('color', 'red');
}
3.スタイルを設定する最速の方法ですが、この場合は無視してください。これは反復に関するものであり、cssスタイルを設定するものではありません。
$('body').find('div.iojo-test-container a').css('color', 'red');