いくつかの質問:
通常のjavascriptループ(一連の要素をループする)は、jQueryを使用するよりも高速/効率的です
each()
か?もしそうなら、通常のjavascriptループとして次のコードを書くための最良の方法は何ですか?
$('div').each(function(){ //... })
いくつかの質問:
通常のjavascriptループ(一連の要素をループする)は、jQueryを使用するよりも高速/効率的ですeach()
か?
もしそうなら、通常のjavascriptループとして次のコードを書くための最良の方法は何ですか?
$('div').each(function(){ //... })
はい、を削除するeach()
とパフォーマンスが少し向上します。これは、要素のリストのforループを作成する方法です。
var divs = $('div');
for(var i = 0; i < divs.length; i++){
var thisDiv = divs[i]; // element
var $thisDiv = $(divs[i]); // jquery object
// do stuff
}
var divs = document.getElementsByTagName('div'),
l = divs.length, i, cur;
for(i=0; i<l; i++) {
cur = divs[i];
// do stuff with cur here
}
効率の名目でjQueryを削除するための道を進んでください。このコードは、同等のjQueryよりも約50倍高速です。
最初の質問はすでに回答されているため、2 番目の質問に回答します。
私もこれに興味があり、Gabe の例を使用して違いを見つけるために 2 つのベンチマークを行うことにしました。答えは、最終結果として jQuery オブジェクトが必要な場合です。
それらはまったく同じように機能します。
http://jsperf.com/jquery-each-vs-native-selectors
明らかに、Firefox は jQuery バージョンをより速く見つけます。