0

私はjQueryの使用にかなり慣れていないため、期待どおりの結果を得るのに十分なほどうまくいっていますが、パフォーマンスに関する質問があります。答えはわかりません。

期待される選択が実際に?であると仮定して、次のセレクターのどれが最もパフォーマンスが高い<textarea>ですか?

  • $("textarea[id='someID']");

  • $("#someID");

事前にThx!

4

4 に答える 4

7

$("#someID");はるかに速くなります

基本的に標準のJavaScriptdocument.getElementById関数を使用しているため

于 2012-11-07T15:06:28.610 に答える
4

による選択は、JavaScript独自の実装idを使用するため、常に最速の方法です。getElementById

JSPerfデモ

ここの私のマシン(Win8、FF16.0.2)では、属性セレクターが93%遅くなりました!!

于 2012-11-07T15:07:10.030 に答える
1

2番目のセレクターは、に直接マップされるため、より高速になりますdocument.getElementById

ここで結果を確認できます

于 2012-11-07T15:09:51.140 に答える
0

最速の結果を得るには、jsgetElementByIdをjqueryオブジェクトでラップする必要があります。

$(document.getElementById('myid'));

http://jsperf.com/id-selector-vs-attribute-selector/3を参照してください

于 2012-11-07T15:23:17.597 に答える