寻求提高我的jQuery选择器的性能。所以任何提示或文章作为最好的每个formant jquery选择器?例如选择一个div的id。在线我可以提供html和比较我可以用来选择所需元素的不同选择器。比较jquery选择器的性能
回答
您可以比较选择性能在这里:http://jsperf.com/
只需设置你的HTML,包括jQuery和要比较的测试情况下,每个选择的地方。
许多规则here仍然适用,但是游戏中的jQuery 1.4.3+修改一下,这种嘶嘶声(jQuery的选择器引擎)将在支持它的浏览器使用querySelectorAll()
后。
This article详细介绍了jQuery选择器及其性能。主要是关于如何正确使用jQuery。由于许多jQuery使用围绕选择器的旋转,因此文章花费了一些时间。
基本上几件事情要记住:
- 如果您正在寻找性能,用途选择该委托给本地的DOM检查方法(
getElementById
,getElementsByTagName
) - 的缓存结果
- 伪选择器可能会导致性能下降。
有一个问题,通过这个,你的意思是在元素上使用id或使用getElementById? – 2012-06-29 12:49:52
有一些委托给本地DOM检查方法的jQuery选择器。文章详细介绍了这一点。所以如果你有一个最终委托给'getElementById'的选择器,那么它的执行速度会更快。 – 2012-06-29 15:23:54
这些文章没有解决的一件事是你的出发点是什么。如果您从整个DOM树开始,那么这些文章实际上是有用的。
但是,如果你有一个元素开始,它取决于你的搜索。我的大部分动态JavaScript与MVC模板都倾向于抓取动作所在的元素,然后搜索父对象。这消除了在随机生成容器时唯一命名容器的需要 - 从动态开发的角度来看,容易得多。
尽管搜索近父节点的速度可能不如搜索ID快,但与生成和跟踪多个唯一ID的时间和/或性能相比,性能应该可以忽略不计。
随着一切的发展,“它取决于”将统治在这里。
我注意到很多这些类型的问题仅限于不同的jQuery选择器之间的性能比较。 我最近遇到一篇文章,它比较了jQuery选择器和本机的Javascript对应器。
这可能听起来很麻烦,但性能增益相当可观。实际上超出了我的想象。
文章:这种嘶嘶声已经使用`querySelectorAll()`相当长的一段
- 1. jQuery - 多选择器的速度比较
- 2. jQuery选择器性能
- 3. Javers - 选择要比较的属性
- 4. 类对象的选择性比较
- 5. 性能比较
- 6. 分析jQuery选择器的性能?
- 7. jquery选择器vs css3选择器的性能
- 8. 的Java DB选择更好的性能比较
- 9. Java:两套选择性比较
- 10. jquery查找孩子选择器性能
- 11. 哪些jQuery选择器性能更好?
- 12. Jquery元素+类选择器性能
- 13. 比较选择选项值
- 14. 比较选择选项
- 15. 比较两台机器的性能
- 16. jQuery DOM操作 - 性能比较?
- 17. 在nstimer选择器内比较日期
- 18. 选择器的性能
- 19. 选择器的性能
- 20. 性能jQuery中与选择
- 21. ASP.Net Ajax的性能比较
- 22. NSUserDefaults的性能比较
- 23. 的Java getPeerCertificates()性能比较
- 24. 字典的性能比较
- 25. 如何让Jquery比较两个选择器?
- 26. 板坯分配器性能比较
- 27. SQLAlchemy混合性能比较器
- 28. DI/IoC容器性能基准比较?
- 29. SQL比较和选择行
- 30. SQL选择并比较
注意。它总是用于'document'上下文(即'nodeType == 9')。 1.4.3在元素节点上使用它(即'nodeType == 1')。 – 2010-10-28 23:59:19