Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在javascript中使用document.getElementsByTagName()时,是否会得到所有元素的数组?_Javascript_Arrays - Fatal编程技术网

在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不实现的接口。