比较jquery选择器的性能

时间:2010-10-28 23:35:49

标签: javascript jquery performance optimization jquery-selectors

着眼于提高jquery选择器的性能。所以任何提示或文章作为最好的performant jquery选择器?例如,选择div的id。在线任何地方我都可以提供HTML并比较我可以用来选择所需元素的不同选择器。

4 个答案:

答案 0 :(得分:11)

您可以在此处比较选择器效果:http://jsperf.com/

只需设置HTML,包含jQuery并将要比较的每个选择器作为测试用例。

许多规则here仍然适用,但然而游戏在jQuery 1.4.3+中有所改变,之后Sizzle(jQuery的选择器引擎)将使用querySelectorAll()在支持它的浏览器中。

答案 1 :(得分:1)

This article详细介绍了jQuery选择器及其性能。它主要是以正确的方式使用jQuery。由于很多jQuery的使用都围绕着选择器,因此本文花了一些时间在它们上面。

基本上要记住一些事情:

  • 如果您正在寻找性能,请使用委托给本机DOM检查方法的选择器(getElementByIdgetElementsByTagName
  • 缓存结果
  • 伪选择器可能会导致性能下降。

答案 2 :(得分:0)

这些文章没有解决的一件事是你的出发点。如果您从整个DOM树开始,那么这些文章实际上很有用。

但是,如果您有一个元素,那么它取决于您的搜索内容。我的大多数带有MVC模板的动态javascript都会抓取执行操作的元素,然后搜索父对象。这消除了在随机生成容器时对容器进行唯一命名的需要 - 从动态开发的角度来看,事情变得更容易。

虽然搜索近父节点可能没有搜索ID那么快,但与生成和跟踪多个唯一ID的时间和/或性能相比,性能应该可以忽略不计。

与开发中的所有内容一样,“它取决于”将在这里统治。

答案 3 :(得分:0)

我注意到很多这类问题仅限于不同jQuery选择器之间的性能比较。 我最近发现了一篇文章,将jQuery选择器与其原生的Javascript选择器进行比较。

这可能听起来很麻烦,但性能提升相当可观。实际上超出了我的想象。

文章: http://www.sitepoint.com/jquery-vs-raw-javascript-1-dom-forms/