MDN:
返回一个包括所有给定标签名称的元素的HTML集合
HTMLCollection
。 整个文件结构都会被搜索,包括根节点。返回的HTML集合
是动态的, 意味着它可以自动更新自己来保持和 DOM 树的同步而不用再次调用document.getElementsByTagName()
。语法:
var elements = document.getElementsByTagName(name);
elements
是一个由发现的元素出现在树中的顺序构成的动态的HTML集合HTMLCollection
(但是看下面的提示) 。name
是一个代表元素的名称的字符串。特殊字符 "*" 代表了所有元素。
例子:
document.getElementsByTagName('html')[0].style.fontSize = ...
首先看到这句话,第一反应是,每页都只有一个html,为何要写[0]?
有些资料上写, document.getElementsByTagName的返回值是一个数组,要获取html标签,选定[0]。
这个解释乍一听十分有理,但是document.getElementsByTagName的返回值不是一个数组,它的返回值在WebKit内核的浏览器中是NodeList!(其他内核还没了解)。可以遍历,有 length 属性,但不是数组!
具体移步: