范围查询何时比查询整个文档更好

时间:2013-07-26 16:00:20

标签: javascript jquery performance dom

假设我的页面上有很多具有特定类foo的元素。 所有这些元素都保证在元素ancestor内。

哪些查询会更快:

$match = $(ancestor).find('.foo') vs $match = $('.foo')

对于一般查询,我知道第一种选择应该更快,但是当我纯粹基于类查询时,它仍然存在吗?

我的一些困惑也源于阅读人们推荐第一种类型的帐户(至少对于一般查询),但我最近还读到浏览器的本机实现

ancestor.querySelectorAll('.foo')并不比document.querySelectorAll('.foo')快 - 原因在于前者是通过调用后者然后过滤掉不属于ancestor的元素来实现的。

修改

有人指出,我可以自己测试一下。我打算这样做。但是,如果有人可以解释为什么使用jQuery选择应该从范围界定中获益而querySelectorAll不是(同样,假设所有匹配元素都在已知的祖先,所以范围不会以任何方式改变结果)

0 个答案:

没有答案