Javascript array.length元素不能用少于2个元素工作?
问题描述:
下面是一个简单的小javascript函数,它使我的表单(myform)中的所有复选框(视频)的数组成为一个整数,并构建另一个被选中的复选框数组。除非表单中只有1个复选框,否则它工作的很好。在这种情况下,框是未定义的。不应该与document.myform.video.length一起工作1吗?Javascript array.length元素不能用少于2个元素工作?
function toggle(main) {
boxes = document.myform.video.length;
alert(boxes);
var videos = [];
for (i=0; i<boxes; i++) {
document.myform.video[i].checked = main.checked;
}
}
答
不,如果这个名称只有一个元素,那么DOM会将它显示为元素而不是数组。
好吧,嘿,这使得它更复杂一点..必须检查,看它是否是一个元素或数组。我不知道我该怎么做。 – Adam
演示:http://jsfiddle.net/VmfVq/ –
@亚当 - 见:http://jsfiddle.net/VmfVq/1/ –