繁体   English   中英

JQuery 1.3+选择器性能

[英]JQuery 1.3+ Selector Performance

我刚刚创建了一个jQuery选择器性能测试页面。 http://guhelouis.github.com/jquery_performance/

有10000个div,其类名称从.div-cl-1到.div-cl-10000。 我正在尝试使用2个不同的选择器来获取.div-cl-9999:

  • $('div.div-CL-9999)
  • $(” DIV-CL-9999' )

您可能会猜到第一个比第二个要快。 但是,请在http://guhelouis.github.com/jquery_performance/中查看结果(按“ 运行它”按钮,对不起,但是有点慢),第一个结果将始终是第一个结果要慢于第二个结果。

如果您颠倒了运行顺序,则表示:

  • $(” DIV-CL-9999' )
  • $('div.div-CL-9999)

结果再次恢复正常。

新的jquery选择器引擎内部是否存在某种“索引编制”功能?

PS:这些奇怪的结果仅在使用jQuery 1.3+(JQuery开始使用Sizzle的时间)时发生。

两者都是不同的选择器。

$('div.div-cl-1') // select all div elements with class "div-cl-1" 

$('.div-cl-1') // select all elements with class "div-cl-1"

例如:第一个不会选择类似

<p>
    <span class="div-cl-1">test</span>
</p>

编辑:刚发现这个-http: //jsperf.com/jquery-selector-speed-tests

我不确定jQuery,但是如果您不指定指定类的标记名,则选择css的速度会更快,因为css首先查看类名,然后检查该元素是否为指定的标记。 假设jQuery使用浏览器的本机查询选择器或类选择器(如果存在),则第一个选择器将变慢。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM