寻找更多解释而不是解决问题。我从以下地址返回4项:
var inputFields = document.getElementsByClassName("calc-input-url");
但是当我将数组记录为输出时,我得到了这个:
[
input#tippedEmployees.form-control.calc-input-url,
input#hourlyWage.form-control.calc-input-url,
input#weeklyTips.form-control.calc-input-url,
input#hoursTippedEmp.form-control.calc-input-url,
tippedEmployees: input#tippedEmployees.form-control.calc-input-url,
hourlyWage: input#hourlyWage.form-control.calc-input-url,
weeklyTips: input#weeklyTips.form-control.calc-input-url,
hoursTippedEmp: input#hoursTippedEmp.form-control.calc-input-url,
item: function…
]
然后我记录了数组的长度以进行仔细检查,只返回值为4.
阵列中的这些额外元素来自哪里,为什么它们在那里/如何使用它们(如果有的话)?
答案 0 :(得分:1)
您看到的不是常规数组,而是HTMLCollection
。阵列"有键和#34; (tippedEmployees:
)应该是赠品,这不是普通的数组。 HTMLCollection
以类似数组的方式公开元素,但也直接通过它们的ID公开。这对您来说很方便。
在实践中应该没有问题,因为你要么要迭代&#34;数组部分&#34;它使用for (var i = 0; i < list.length; i++) list[i]...
,或来直接通过ID访问元素。