第一次运行循环,没有问题。在循环结束时以及循环每隔运行一次时就会显示get。 据我所知,.checked属性可以正常工作,只是有错误... 有人知道该怎么做吗? 我在javascript中的背景并不广泛,而且我还在学习。 谢谢。
我已经尝试过.checked === true
,
.checked == checked
...
在碟子下面的代码段中,是一个单选按钮数组。
for (i = 0; i <= dishes.length; i++) {
if (dishes[i].checked) {
switch (dishesClass) {
.........
}
}
}
我希望控制台中没有错误,但是有多个错误。每次循环结束时,控制台都会显示相同的错误。
未捕获的TypeError:无法读取未定义的属性“选中”
答案 0 :(得分:1)
在for循环中,您正在测试i
是否小于或等于 dishes.lengh
。您只需检查它是否小于,因为i
从0
开始,计算中的数组索引也是如此。
所以只需将i <= dishes.length;
替换为i < dishes.length;
希望有帮助
此代码将起作用
for (i = 0; i < dishes.length; i++) {
if (dishes[i].checked) {
switch (dishesClass) {
.........
}
}
}
Loops and Iteration上的该资源可能会对您有所帮助。
答案 1 :(得分:0)
如@Alicia所指出的,问题出在您的循环条件i<=
上,而应该是i<
。数组索引 i 尝试在上一次迭代中访问数组范围之外的元素。数组的索引从零开始,以数组长度-1