美文网首页前端开发那些事儿让前端飞
querySelectorAll和getElementsByCl

querySelectorAll和getElementsByCl

作者: 嘻哈章鱼小丸子 | 来源:发表于2021-05-11 17:21 被阅读0次
1. querySelectorAll(name)

返回一个 NodeList表示元素的列表(类数组对象),把当前的元素作为根与指定的选择器组相匹配。

2. getElementsByClassName(name)

返回一个包含了所有指定类名的子元素的类数组对象(HTMLCollection)。当在document对象上调用时,会搜索整个DOM文档,包含根节点。

比较点:
  1. 结果
    querySelectorAll返回的是静态结果,不会随文档变化而变化。getElementsByClassName返回的是动态结果,会及时更新文档的变化。

  2. 参数name:
    querySelectorAllname由逗号连接的包含一个或多个CSS选择器的字符串。
    getElementsByClassName的参数name可包含一或多个类名,元素必须同时包括这些类名。

  3. 规范
    querySelectorAll属于 W3C 中的 Selectors API 规范;getElementsByClassName属于 W3CDOM 规范。

  4. 执行效率
    单从API执行效率上,getElementsByClassName要比querySelectorAll快。但是我们使用上差异微乎其微,具体选用哪个API要看使用场景。

延申:NodeList和HTMLCollection的区别

两张图基本上就明白了:

区别
detail
详见 HTMLCollection与NodeList

相关文章

网友评论

    本文标题:querySelectorAll和getElementsByCl

    本文链接:https://www.haomeiwen.com/subject/zzwidltx.html