1

jQueryを保護するために、クラスによる選択はIDによる選択よりも大幅に遅くなる可能性があることをどこかで読みました。

:firstセレクターを使用する場合、jQueryはすべてのインスタンスを検索し、最初の要素のみを返しますか?または、最初の要素が見つかるとパーサーは停止しますか?

4

1 に答える 1

2

私はこれがあなたの質問に対する直接の答えではないことを知っていますが:

の使用.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を使用してみてください

于 2012-09-19T15:43:11.453 に答える