原型通过标签功能获得

时间:2008-09-19 12:45:02

标签: javascript prototypejs

如何通过标签名称获取元素或元素列表。例如,我想要<h1></h1>的所有元素。

5 个答案:

答案 0 :(得分:6)

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'))。如果您的浏览器还不支持,可能会填充Array.from()。我可以非常推荐https://polyfill.io/v2/docs/(不以任何方式附属)

答案 1 :(得分:4)

使用$$()并传入CSS选择器。

阅读Prototype API documentation for $$()

除了标签名称之外,这还为您提供更多功能。您可以按类,父/子关系等进行选择。它支持的CSS选择器比普通浏览器所需的更多。

答案 2 :(得分:1)

Matthias Kestenholz:

getElementsByTagName返回一个NodeList对象,它类似于数组,但不是数组,它是一个实时列表。

var test = document.getElementsByTagName('a');
alert(test.length); // n
document.body.appendChild(document.createElement('a'));
alert(test.length); // n + 1

答案 3 :(得分:1)

您还可以使用$$(tag-name)[n]从集合中获取特定元素。

答案 4 :(得分:0)

如果使用getElementsByTagName,则需要将其包装在$ A()中以返回Array。但是,您可以像nertzy建议的那样简单地执行$$('a')。