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