这更像是一个好奇心问题。执行以下操作时:
$('.selector1, .selector2').doSomething()
jQuery是否完全遍历DOM两次以使每组对象与每个选择器匹配,或者是否在DOM的遍历中找到所有元素?
答案 0 :(得分:1)
我认为它使用本机浏览器功能来查找,使用:
document.getElementsByClassName()
答案 1 :(得分:1)
这实际上取决于浏览器。在较新的浏览器中,它将使用document.querySelectorAll进行任何DOM查询(在内部调用document.getElementsByClassName用于类)。在不支持此功能的旧浏览器中,它必须自行解决,这显然会更慢。
通常,您应该首先通过id查找内容(或者至少缩小范围)。类和标签名称将是速度的下一个。基本上,本机支持的DOM操作是最好的。