在javascript中使用document.getElementsByTagName()时,是否会得到所有元素的数组?
我有这个在javascript中使用document.getElementsByTagName()时,是否会得到所有元素的数组?,javascript,arrays,Javascript,Arrays,我有这个文档。getElementsByTagName('input')来获取页面上的所有元素。这是否会产生一个数组,我可以将for循环放入其中?您可以使用for循环,但返回的不是,而是,例如: var inputs = document.getElementsByTagName('input'); for(var i=0; i<inputs.length; i++) { //do something with inputs[i] } var inputs=document.getE
文档。getElementsByTagName('input')
来获取页面上的所有
元素。这是否会产生一个数组,我可以将for循环放入其中?您可以使用for
循环,但返回的不是,而是,例如:
var inputs = document.getElementsByTagName('input');
for(var i=0; i<inputs.length; i++) {
//do something with inputs[i]
}
var inputs=document.getElementsByTagName('input');
对于(var i=0;iNo,它不是一个数组,而是一个节点列表。但是的行为类似于数组,因此您可以使用正常的for
循环来遍历它
这里需要注意的是,集合是live,这意味着某些方法/属性将使集合再次更新(意味着评估)。其中之一是长度
,因此出于性能原因,您应该将该值检索一次,例如:
for(var i = 0, l = elements.length; i < l; i++) {
// so something with elements[i]
}
for(var i=0,l=elements.length;i
@chromedude-是的,你当然可以,它是基于0的,所以1
将是页面中的第二个
元素。它不是HTMLCollection,因为你不能文档。getElementsByTagName('input')[“inputName”]
。HTMLCollection是NodeList不实现的接口。