0

DIV要素の場合、これらのセレクターのどれがより高速である可能性が高いのだろうか

$("#ELEMENT_ID")
$('div[id="ELEMENT_ID"]')

DIV id のみを使用する場合と、ID のみで検索を DIV 要素に制限する場合のパフォーマンスに違いはありますか?

4

3 に答える 3

4

またはその ID のみで DIV 要素に検索を制限しますか?

ID は一意であることに注意してください。複数の要素で 1 つの ID を使用している場合、それは正しくありません。

div[id="ELEMENT_ID"]複数のページにまたがるスタイルシートを含める場合やdiv#ELEMENT_ID、異なるページが異なる要素に対して 1 つの ID を使用する場合を除き、一般的に不要です。ただし、コードを読んでいる人を混乱させる可能性があるため、これはおそらく良い考えではありません。

于 2012-04-21T10:58:57.447 に答える
3

jsPerf をチェックすると、id セレクターだけがはるかに高速であることがわかります。http://jsperf.com/id-vs-data-id/4

于 2012-04-21T11:03:56.020 に答える
2

#IDおよびセレクターについてdiv#ID、jQuery は次のように述べています。

ID セレクターの場合、jQuery は非常に効率的な JavaScript 関数 document.getElementById() を使用します。h2#pageTitle などの別のセレクターが id セレクターにアタッチされている場合、jQuery は要素を一致として識別する前に追加のチェックを実行します。

セレクターについてdiv[ID=something]はよくわかりませんが、よりも速いかどうかは疑問です#IDパフォーマンス ベンチマークを実行し、結果を確認します。

PS: jQuery ID セレクターページに興味深いメモがあります。

いつものように、開発者としての時間は通常、最も貴重なリソースであることを忘れないでください。パフォーマンスを改善する必要があることが明らかでない限り、セレクター速度の最適化に集中しないでください。

于 2012-04-21T11:08:14.310 に答える