原型通过标签获取功能
时间: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')。