如果我知道我的DOM中最多只有一个这样的对象,我是否应该总是追加:首先选择选择器来加速查找?我假设选择引擎会在找到1个匹配元素后立即停止,但我不确定过滤器是否会让事情变慢。
答案 0 :(得分:6)
不,因为:first
不是标准的CSS伪类,并且使用它将导致您的选择器不会被传递给支持浏览器实现的本机querySelectorAll()
DOM功能(假设您没有'使用任何其他jQuery选择器语法。)
jQuery将采用整个选择器并自行解析(最有可能使用Sizzle),这比使浏览器完成工作要慢。
答案 1 :(得分:0)
一种几乎是正确的做法;您指定的选择器越多,引擎验证的次数就越多。
因此,在您的情况下,如果您知道它只有一个,请不要指定它。
但是如下面的声明,比方说100,你甚至都不会注意到它。