javascript - 使用 document.getElementsByTagName 进行 DOM 操作

标签 javascript dom

我注意到此方法仅在插入 [0] 时才有效,但是,我在语法文档中找不到其用途或解释。它有什么作用,为什么没有它代码就无法运行?

document.getElementsByTagName('body')[0].style.backgroundColor = "pink"

最佳答案

getElementsByTagName 返回一个 NodeList,它是与标记匹配的所有元素的集合。由于它是一个集合,而不是单个元素,因此您需要指定要操作集合中的哪些项目。 NodeList 类似于数组,因此您可以使用下标来访问集合中的各个元素 - [0] 表示第一个元素。如果您想对所有匹配元素执行某些操作,则可以使用 for 循环:

var anchors = document.getElementsByTagName('a');
for (i = 0; i < anchors.length; i++) {
    anchors[i].style.backgroundColor = 'red';
}

对于body,您知道只有其中一个,因此不需要这样做,您只需使用[0]显式索引它即可.

关于javascript - 使用 document.getElementsByTagName 进行 DOM 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21737944/

相关文章:

javascript - 如何在使用js延迟加载的元素上添加简单的淡入淡出效果

javascript - 复选框通过 vb.net 激活 asp.net 中的文本框

JavaScript 根据第一个事件创建第二个事件

javascript - 替换 img 路径 jquery

javascript - 无法将图像对象与其他 HTML 元素一起放置

javascript - 如何找到具体的父 Node ?

javascript - 如何用一个按钮改变其他按钮的样式?

javascript - 从 geolocation-db.com 获取 IP 时出错

javascript - Node.js - 在使用 Express 时未定义端口时停止应用程序

javascript - 浏览器缩小时 iFrame 页脚被 chop