指定:首先在jquery选择器帮助性能?

时间:2011-05-18 19:20:25

标签: jquery jquery-selectors

如果我知道我的DOM中最多只有一个这样的对象,我是否应该总是追加:首先选择选择器来加速查找?我假设选择引擎会在找到1个匹配元素后立即停止,但我不确定过滤器是否会让事情变慢。

2 个答案:

答案 0 :(得分:6)

不,因为:first不是标准的CSS伪类,并且使用它将导致您的选择器不会被传递给支持浏览器实现的本机querySelectorAll() DOM功能(假设您没有'使用任何其他jQuery选择器语法。)

jQuery将采用整个选择器并自行解析(最有可能使用Sizzle),这比使浏览器完成工作要慢。

答案 1 :(得分:0)

一种几乎是正确的做法;您指定的选择器越多,引擎验证的次数就越多。

因此,在您的情况下,如果您知道它只有一个,请不要指定它。

但是如下面的声明,比方说100,你甚至都不会注意到它。