原型通过标签获取功能

时间:2020-03-06 14:25:46  来源:igfitidea点击:

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

解决方案

document.getElementsByTagName('a')返回一个数组。在此处查找更多信息:http://developer.mozilla.org/En/DOM/Element.getElementsByTagName

修正:如果我们想要一个真实的数组,则应该使用诸如Array.from(document.getElementsByTagName('a'))之类的东西,或者这几天我们可能希望使用Array.from(document.querySelectorAll('a' ))。如果浏览器尚不支持,则可以polyfillArray.from()。我可以非常推荐https://polyfill.io/v2/docs/(不以任何方式关联)

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

阅读$$()的原型API文档。

这不仅为标签名称提供了更多功能。我们可以按类,父/子关系等进行选择。它支持的CSS选择器比普通浏览器要多。

Matthias Kestenholz:

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

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

如果使用getElementsByTagName,则需要将其包装在$ A()中以返回数组。但是,我们可以按照书呆子的建议简单地执行$$('a')。