对于 DIV 元素,我想知道哪些选择器可能更快
$("#ELEMENT_ID")
$('div[id="ELEMENT_ID"]')
仅使用 DIV id 或仅使用其 ID 将搜索限制为 DIV 元素在性能上是否有任何差异?
对于 DIV 元素,我想知道哪些选择器可能更快
$("#ELEMENT_ID")
$('div[id="ELEMENT_ID"]')
仅使用 DIV id 或仅使用其 ID 将搜索限制为 DIV 元素在性能上是否有任何差异?
或仅使用其 ID 将搜索限制为 DIV 元素?
请注意,ID 是唯一的,因此如果您在多个元素上使用一个 ID,那是错误的做法。
div[id="ELEMENT_ID"]
甚至div#ELEMENT_ID
通常是多余的,除非您在多个页面中包含一个样式表,并且不同的页面对不同的元素使用一个 ID。这样做可能不是一个好主意,因为它可能会使阅读代码的人感到困惑。
检查 jsPerf 表明只有 id 选择器要快得多。http://jsperf.com/id-vs-data-id/4
对于#ID
和div#ID
选择器,jQuery 提到:
对于 id 选择器,jQuery 使用 JavaScript 函数 document.getElementById(),效率极高。当另一个选择器附加到 id 选择器时,例如 h2#pageTitle,jQuery 在将元素识别为匹配之前执行额外的检查。
对于div[ID=something]
选择器,我不太确定,但我怀疑它是否会比#ID
. 我会运行性能基准并检查结果。
PS:在jQuery ID 选择器页面上有一个有趣的注释:
与往常一样,请记住,作为开发人员,您的时间通常是最宝贵的资源。不要专注于优化选择器速度,除非很明显需要提高性能。