1

たとえば、いくつかのJavaScriptスパンを検索するときなど、どのJavaScriptコードがより効率的かを見つけようとします。

jquery を使用したこのモード:

$('span[value='+value+']')

または標準のJavaScriptを使用したこのモード:

function gEBI(id) {
    return document.getElementById(id);
}
var spans = gEBI("content").getElementsByTagName('span'); 
for (i = 0; i < this.spans.length; i++)
 { 
     if (this.spans[i].getAttribute("value") == valueThis ) { // operations } 
 }

検索は通常、jqueryまたは標準のJavaScriptより効率的であるというもう1つの質問

4

1 に答える 1

3

最新のブラウザー (IE8 以降) では、jQuery は DOM を手動で検索するよりもはるかに高速です。

最新のブラウザーは と をサポートquerySelectorしておりquerySelectorAll、CSS クエリを使用してノードを見つけることができ、古い DOM メソッドよりもはるかに高速です。jQuery は、これらの機能が利用可能な場合はそれを使用するため、高速化の恩恵を受けます。

ただし、本当に速度を上げたい場合、古いブラウザーのサポートは必要なく、基本的な CSS2.1 レベルのクエリ (そこにあるものなど) のみを使用している場合は、querySelector を直接使用してください。これは jQuery よりも高速です。

// If you only need just one
var span = document.querySelector('span[value='+value+']');
// If there's more than one span like that
var spans = document.querySelectorAll('span[value='+value+']');

http://caniuse.com/#search=querySelector

于 2013-01-04T22:01:40.467 に答える