已关闭。此问题为opinion-based。当前不接受答案。
**想要改进此问题吗?**请更新此问题,以便editing this post可以用事实和引文来回答。
八年前就关门了。
社区在11个月前审查了是否重新讨论这个问题,并将其关闭:
原始关闭原因未解决
Improve this question
我听说querySelector
和querySelectorAll
是选择DOM元素的新方法。在性能和浏览器支持方面,它们与旧方法getElementById
和getElementsByClassName
相比如何?
与使用jQuery的查询选择器相比,性能如何?queryselector
和getElementById
有什么区别?什么时候我们应该用queryselector
代替getelementbyid
?有没有不能用getElementById
的例子?
2条答案
按热度按时间6yjfywim1#
“更好”是主观的。
querySelector
是较新的特性。getElementById
比querySelector
更受支持。querySelector
比getElementsByClassName
更受支持,但querySelector
提供静态节点列表,而getElementsByClassName
提供活动节点列表。querySelector
允许您查找具有无法用getElementById
和getElementsByClassName
表示的规则的元素您需要为任何给定的任务选择适当的工具。
(In以上,将
querySelector
改为querySelector
/querySelectorAll
)。mwg9r5ms2#
函数
getElementById
和getElementsByClassName
非常具体,而querySelector
和querySelectorAll
则更加精细,我的猜测是它们实际上会有更差的性能。另外,你需要检查你所针对的浏览器中每个功能的支持情况。越新的浏览器,缺乏支持或功能“有缺陷”的概率就越高。