jQuery:是:首先比.className更快:第一个?

时间:2012-09-19 15:36:04

标签: javascript jquery performance debugging frontend

关于jQuery,我读过某个地方,按类选择可能比通过ID选择要慢得多。

当使用:first选择器时,jQuery是否找到所有实例并且只返回第一个元素?或者,一旦找到第一个元素,解析器是否会停止?

1 个答案:

答案 0 :(得分:2)

我知道这不是你问题的直接答案,但是:

使用.first()的速度比使用:first快十倍。使用Firefox测试

  

100,000次迭代:

     

54,670ms使用:第一次

     使用.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