jQueryを保護するために、クラスによる選択はIDによる選択よりも大幅に遅くなる可能性があることをどこかで読みました。
:firstセレクターを使用する場合、jQueryはすべてのインスタンスを検索し、最初の要素のみを返しますか?または、最初の要素が見つかるとパーサーは停止しますか?
jQueryを保護するために、クラスによる選択はIDによる選択よりも大幅に遅くなる可能性があることをどこかで読みました。
:firstセレクターを使用する場合、jQueryはすべてのインスタンスを検索し、最初の要素のみを返しますか?または、最初の要素が見つかるとパーサーは停止しますか?
私はこれがあなたの質問に対する直接の答えではないことを知っていますが:
の使用.first()
は、を使用するよりも約10倍高速です:first
。Firefoxを使用してテスト済み
100,000回の反復:
:firstを使用して55,870ms
.first()を使用して5,858ms
$(document).ready (function() {
var i, time = +new Date;
for ( i = 0; i < 100000; ++i ) {
$ ( 'div:first' );
}
console.log ( (+new Date) - time );
time = +new Date;
for ( i = 0; i < 100000; ++i ) {
$ ( 'div' ).first ( );
}
console.log ( (+new Date) - time );
});
コメントが示唆しているように、JsPerfを使用してみてください