1

这是我的代码。我无法使警报起作用。

var chooseObject = document.getElementsByTagName("input");
var objectLength = chooseObject.length;
var hobbyArray = [];
    //hobbyArray("aaa");
    //hobbyArray("bbb");
    //alert(hobbyArray); This one works.
for(var i=0;i<=objectLength;i++){
    if((chooseObject[i].type=="checkbox")&&(chooseObject[i].checked==true)){
         //alert(chooseObject[i].value); This one works.
         hobbyArray.push(chooseObject[i].value); }
}
alert(hobbyArray);

如果我执行最高警报(我已经发表评论),它会起作用。如果我在 for 循环中提醒 chooseObject[i].value ,那很好。但是如果我使用数组,它就失败了。有人可以帮助我吗?

4

1 回答 1

2

你的for陈述有一个愚蠢的错误。这个:

for(var i=0;i<=objectLength;i++)

应该:

for(var i=0;i<objectLength;i++)

TypeError当您检查元素的属性(chooseObject[objectLength]undefined,它没有属性)时,额外的迭代会导致。

于 2012-11-12T21:34:31.490 回答