寻求提高我的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. jQuery选择器性能
- 4. Java比较器的性能?
- 5. VHDL。比较器的性能
- 6. 比较常规选择和准备选择性能
- 7. 比较选择
- 8. Javers - 选择要比较的属性
- 9. 类对象的选择性比较
- 10. jQuery选择器比较它们之间的元素属性(和/或属性)
- 11. 性能比较
- 12. 性能jQuery选择
- 13. 分析jQuery选择器的性能?
- 14. jQuery的性能:多选择器与选择器与上下文
- 15. jquery选择器vs css3选择器的性能
- 16. 的Java DB选择更好的性能比较
- 17. LINQ.JS,比较器选择器除
- 18. Java:两套选择性比较
- 19. jQuery的性能 - 类选择
- 20. jQuery中的类选择器与'getElementsByClassName'比较出奇的慢选择+ Benchmarks
- 21. Jquery元素+类选择器性能
- 22. jQuery data- * vs类选择器 - 性能?
- 23. 哪些jQuery选择器性能更好?
- 24. jquery查找孩子选择器性能
- 25. 比较选择选项值
- 26. 比较选择选项
- 27. 比较两台机器的性能
- 28. JMH:性能比较
- 29. jQuery DOM操作 - 性能比较?
- 30. 比较选择框的值
注意。它总是用于'document'上下文(即'nodeType == 9')。 1.4.3在元素节点上使用它(即'nodeType == 1')。 – 2010-10-28 23:59:19