id与班级选择基准

zaf*_*zaf 12 html javascript css benchmarking css-selectors

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

有意义的是,具有id的元素比具有类的元素更快,即使它是该类的唯一元素也是如此.

我真的需要担心吗?

And*_*ndy 12

当搜索a时id,选择器将在找到匹配后立即停止(即使有很多) - 我假设有一种用于此目的的键/值查找表,因为它比DOM遍历快得多.这就是原因,这里有一段摘录:

通过ID选择仍然要好得多...因为jQuery使用浏览器的本机方法(getElementByID)来执行此操作,并且不必执行任何自己的DOM遍历,这要快得多.

相关结果显示,idvs的速度提高了100倍class.

搜索a时class,将搜索整个DOM(或范围).这是使用范围的基准.

你可以在你自己的浏览器基准选择这里.


Pas*_*TIN 6

我不认为你应该真的那么关心:选择id和选择class只是没有相同的含义:

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


不过,这里有一个你可能感兴趣的基准测试:速度/有效性选择器测试框架.