id与班级选择基准

时间:2010-04-01 11:14:21

标签: javascript html css css-selectors benchmarking

有没有人用CSS和javascript标记选择带有id和class的元素?

如果具有id的元素比具有类的元素更快,那么即使它是该类的唯一元素也是有意义的。

我真的需要关注吗?

2 个答案:

答案 0 :(得分:12)

当搜索id时,选择器会在找到匹配后立即停止(即使有很多) - 我假设有一些键/值查找表用于此目的,因为它很多比DOM遍历更快。 Here's why,这是一段摘录:

  

它仍然很多   最好通过ID选择...因为   jQuery使用浏览器的原生   方法(getElementByID)来做这个和   不必做任何自己的DOM   遍历,这要快得多。

相关结果显示,idclass的速度提升了100倍。

搜索class时,会搜索整个DOM(或范围)。 Here's a benchmark using scope

您可以在自己的浏览器here中对选择器进行基准测试。

答案 1 :(得分:6)

我认为你不应该真正关心:id选择和class选择只是意思不一样:

  • 如果您想要选择一个元素,知道如何唯一地识别它,请使用它id
  • 如果您想要选择一个或多个元素,知道可能有多个元素,请注意有一种方法可以唯一地识别它/它们,请使用class


不过,这是一个你可能感兴趣的基准:Speed/validity selectors test for frameworks.