document.getelementsbytagname()返回动态htmlcollection,按标签名获取元素,支持通配符*,需转数组才能用foreach等方法,与queryselectorall的静态nodelist等方法有区别。

在 JavaScript 中,可以通过 document.getElementsByTagName() 方法按标签名批量获取元素集合。
使用 getElementsByTagName 获取同标签元素
该方法返回一个 HTMLCollection(动态集合),包含文档中所有匹配指定标签名的元素(不区分大小写):
- 传入标签名字符串,如
"div"、"li"、"input" - 支持通配符
"*",获取所有元素 - 结果是实时的:DOM 变化会自动反映在该集合中
示例:
const divs = document.getElementsByTagName("div");
console.log(divs.length); // 当前页面中 div 元素个数
console.log(divs[0]); // 第一个 div 元素
转换为数组以便使用 forEach、map 等方法
HTMLCollection 不支持数组方法,需转成数组:
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
- 推荐用扩展运算符:
const divArray = [...divs]; - 也可用
Array.from(divs) - 旧环境可用
Array.prototype.slice.call(divs)
转换后即可遍历操作:
const divs = document.getElementsByTagName("div");
[...divs].forEach(div => {
div.style.color = "blue";
});
注意与其他类似方法的区别
别和以下方法混淆:
- document.querySelectorAll("div"):返回静态 NodeList,支持 CSS 选择器,更灵活但不自动更新
- document.getElementsByClassName():按 class 名获取,不是标签名
- document.getElementById():只返回单个元素
如果只需一次性获取且后续不增删同标签元素,querySelectorAll 更常用;若需监听 DOM 动态变化并持续访问最新元素列表,getElementsByTagName 的动态特性更有优势。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










