2017-06-04 38 views
0

我想使用变量来存储静态选择器,我在特定范围内使用了多次。哪种效率更好?用于重复选择器或更简洁的选择器的变量列表

  • 这些变量是全局变量,因为所有函数定义和事件监听器都直接在jquery的$(function(){ });范围内。
  • 我可以做一些单数项目ID,我相信它是最快的选择器,尽管太多的ID可能是坏的,并且在需要选择多个元素时不会提供服务。
  • 对于任何非类或标识(罕见),我在jQuery中使用稍微复杂的选择器或者作为js遍历DOM。

为了提高效率,最好是将所有重复选择器存储在最需要的地方,而不总是全局的,或者对于一些较快的地方如ID和类,我应该每次做出新的选择器?

我注意到并听说tagName选择器可能效率低下,我应该给这些ID /类或制作一个tagName选择器一次,将其存储在一个var并重复使用该var。

这只是关于静态元素,对DOM的更改需要一个新的选择器来包含新的元素。

+2

缓存总是更好,如果我明白你的意思。所以'var selected = $(“#selected”)'总比每天用jquery选择它要好。 https://code.tutsplus.com/tutorials/10-ways-to-instantly-increase-your-jquery-performance-net-5551 –

+0

你确定,你已经有速度的问题了吗?也许它是一个过早优化的例子。 – xDreamCoding

+0

@xDreamCoding速度不是一个大问题。但是有一些可以改进的地方。如果一个项目完成了,我相信所有的改进都应该在部署的版本中进行。 – wordSmith

回答