querySelector vs. getElementById [已关闭]

2022-08-30 01:58:14

我听说过,并且是选择DOM元素的新方法。它们在性能和浏览器支持方面与旧方法相比如何?querySelectorquerySelectorAllgetElementByIdgetElementsByClassName

与使用jQuery的查询选择器相比,性能如何?

对于使用哪种方法,是否有最佳实践建议?


答案 1

“更好”是主观的。

querySelector是较新的功能。

getElementById比 支持得更好。querySelector

querySelector比起支持,但为您提供了静态节点列表,同时为您提供了实时节点列表。getElementsByClassNamequerySelectorgetElementsByClassName

querySelector允许您查找具有不能用 和 表示的规则的元素getElementByIdgetElementsByClassName

您需要为任何给定任务选择适当的工具。

(在上面,请阅读 / )。querySelectorquerySelectorquerySelectorAll


答案 2

功能和非常具体,同时和更精细。我的猜测是,他们实际上会有更糟糕的表现。getElementByIdgetElementsByClassNamequerySelectorquerySelectorAll

此外,您需要检查目标浏览器中每个功能的支持。它越新,缺乏支持或函数“错误”的可能性就越大。