题
如何通过标签名称获取元素或元素列表。举个例子,我想要来自的所有元素 <h1></h1>
.
解决方案
document.getElementsByTagName('a') 返回一个数组。在这里查看更多信息: http://web.archive.org/web/20120511135043/https://developer.mozilla.org/en/DOM/element.getElementsByTagName
修正案:如果你想要一个真正的数组,你应该使用类似的东西 Array.from(document.getElementsByTagName('a'))
, ,或者这些天你可能想要 Array.from(document.querySelectorAll('a'))
. 。也许是polyfill Array.from()
如果您的浏览器尚不支持。我可以推荐 https://polyfill.io/v2/docs/ 非常(不以任何方式隶属)
其他提示
马蒂亚斯·凯斯滕霍尔兹:
getElementsByTagName 返回一个 NodeList 对象,它类似于数组,但不是数组,而是一个实时列表。
var test = document.getElementsByTagName('a');
alert(test.length); // n
document.body.appendChild(document.createElement('a'));
alert(test.length); // n + 1
你也可以使用 $$(tag-name)[n]
从集合中获取特定元素。
如果您使用 getElementsByTagName,则需要将其包装在 $A() 中以返回数组。但是,您可以按照 nertzy 的建议简单地执行 $$('a') 。
不隶属于 StackOverflow