我听说querySelector
&querySelectorAll
是选择DOM
元素的新方法。他们如何比较的老方法,getElementById
和getElementsByClassName
在性能和浏览器支持方面?
与使用jQuery的查询选择器相比,性能如何?
是否有针对哪个本机集的最佳实践建议?
1
定义更好。它们几乎完全不同。
这就像在问“单把扳手比可调扳手好吗?” 答案是:他们是更强大,更灵活,等上级多次,但
—
lonesomeday
getElementById
和getElementsByClassName
仍然是理想的目的,他们的名字形容。
getElementById
匹配id
属性以查找DOM节点,同时querySelector
通过选择器进行搜索。因此,对于一个无效的选择例如<div id="1"></div>
,getElementById('1')
将工作而querySelector('#1')
将失败,除非你告诉它相匹配的id
属性(如querySelector('[id="1"]')
。
—
Telarian