jQuery选择器效率

时间:2012-03-20 02:57:56

标签: jquery performance jquery-selectors memory-efficient

我有一个快速的Bing,无法真正找到答案。

如果我发现使用$('something here') 150次的代码,那么它会更有效率:

var item = $('something here')

我知道很愚蠢的问题,但是它会更有效率,因为jQuery只需要找一次这个项目吗?

3 个答案:

答案 0 :(得分:4)

根据这篇文章,将选择器分配给变量更有效,这是有道理的,因为jQuery不需要再扫描DOM以寻找与选择器匹配的元素。

http://geekswithblogs.net/renso/archive/2009/07/14/jquery-selector-efficiencycost-impact.aspx

它还提供了其他提示。例如,尽量避免单独使用类选择器。有趣的是,$('#someID')之类的选择器比$('div#someID')快。

答案 1 :(得分:3)

是的,存储生成的jQuery对象效率更高,速度可能更快。每次使用选择器时,您都会启动新搜索。 jQuery不缓存结果。如果将生成的jQuery对象存储在变量中,则实际上无需每次都反复运行搜索。

答案 2 :(得分:1)

请仔细阅读本文,以确切了解jQuery在屏幕后面的工作原理。 很好地解释了。

http://net.tutsplus.com/tutorials/javascript-ajax/quick-tip-jquery-newbs-stop-jumping-in-the-pool/