伪类和自定义选择器的相对性能是什么?

时间:2010-04-16 11:54:18

标签: jquery jquery-selectors custom-selectors

据我所知,就选择器速度而言,#ID选择器最快,其次是元素选择器,然后是.class选择器。

我一直认为伪类选择器和自定义选择器(形式为':selector'的那些)类似于.class选择器,但我意识到我只是不确定。

我意识到这确实取决于伪类/自定义选择器中代码的复杂性,所以我想我想知道这个被排除在外的因素的答案。

任何帮助都将不胜感激。

感谢。

1 个答案:

答案 0 :(得分:3)

这一切都归结为DOM中的Sizzle引擎(jQuery用来评估选择器)可以用来查找元素的方法。

它可以使用getElementByIdgetElementsByTagName方法快速获取特定ID和特定标记名称的元素。之后,它只需循环遍历所有找到的元素,并将每个元素与从选择器创建的条件进行比较。

DOM中的方法可以在任何元素上使用,并且可以组合使用,例如,查找具有特定id的元素内的所有div元素非常快。