我注意到此方法仅在插入 [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/