【发布时间】:2023-03-21 04:53:01
【问题描述】:
我有一个带有 4 个复选框的 div。然后我运行以下javascript:
var elements = document.getElementById('myDiv').getElementsByTagName('input');
alert(elements.length); // output: 4
for (element in elements) {
alert(element);
}
alert('finish!');
在 4 之后,我按顺序收到以下警报:
0
1
2
3
item
namedItem
length
finish!
从 0 到 3 的数字是元素的索引。但是这里的“item”、“namedItem”和“length”是什么意思呢?
【问题讨论】:
-
不要使用
for ... in ...遍历数组,for ... in ...遍历对象属性,而不是索引,所以你会得到一个数组的所有属性:stackoverflow.com/questions/500504/… -
像瘟疫一样避免
for...in。 -
@Shan ...除非您想遍历对象的属性...
-
虽然 getElementsByTagName 不返回“真实”数组 - 对于大多数人来说它仍然是一个数组。因此,请参阅 cmets 中列出的问题,以获取有关为什么使用 for in 迭代数组是一个坏主意的更多信息。
标签: javascript html for-loop