querySelectorAll与getElementsByTagName等区别

1,querySelector 获取的是nodeList,可直妆forEach循环

2,getElement获取到的是HTMLCollection,需要使用Array.from转换为数组后才可遍历,当然,可以直接用for,不需要转换

3,querySelector获取到的不是动态,而getElement获取到的是动态的。如下:

javascript 复制代码
const insert = () => {
    const div = document.createElement("div")
    div.innerHTML = "vvvvvv"
    document.getElementById("app").appendChild(div)
}
const test = () =>{
    const aa = document.querySelectorAll("div")
    const bb = document.getElementsByTagName("div")
    insert()
    console.log(aa.length) // 此处不会把insert插件的DIV计算入内
    console.log(Array.from(bb).length)// 此处会把insert插件的DIV计算入内
}

test()
相关推荐
Aerelin3 分钟前
爬虫playwright入门讲解
前端·javascript·html·playwright
笙年19 分钟前
JavaScript Promise,包括构造函数、对象方法和类方法
开发语言·javascript·ecmascript
桜吹雪20 分钟前
LangChain.js/DeepAgents可观测性
javascript·人工智能
神仙别闹28 分钟前
基于C++实现(控制台)应用递推法完成经典型算法的应用
开发语言·c++·算法
5***o50031 分钟前
前端在移动端中的NativeBase
前端
灵魂学者36 分钟前
Vue3.x —— 父子通信
前端·javascript·vue.js·github
kk哥889940 分钟前
inout参数传递机制的底层原理是什么?
java·开发语言
1***Q78442 分钟前
前端跨域解决方案
前端
小雨青年1 小时前
MateChat 进阶实战:打造零后端、隐私安全的“端侧记忆”智能体
前端·华为·ai·华为云·状态模式
listhi5201 小时前
基于改进SET的时频分析MATLAB实现
开发语言·算法·matlab