问答详情
源自:9-4 区别getElementByID,getElementsByName,getElementsByTagName

任务3中,hobby[i].checked=flase;为什么一定要放在遍历中才有效果?

正确的代码是把hobby[i].checked=flase;放在   for循环的遍历中。

我的意思是抛开这个题目,我们自己写一个类似的语句  myarray[i].checked=false   这样写不行吗。没有效果吗?为啥一定要放在遍历中呢?这里面就一个变量 i ,

提问者:一休哥1965 2016-08-12 14:12

个回答

  • 慕粉1054309562
    2016-09-13 15:10:22

    不用,前面两个任务有误导作用 var hobby = document.getElementsByName("hobby");

    var hobby = document.getElementsByTagName("input");

    而后面的hobby[i].checked=flase中的hobby[i]是得到的数组中的某一个元素,不能直接使用hobby[i]

  • azure1016
    2016-08-26 11:48:35

    放在for循环中i才是确定的值(比如这个例子中i依次由0变到5),如果你不放到for循环中,而且也不给i赋确定的值,当然是不能通过编译的。你试试myarray[1].checked=false ,这一句是可以运行的。然而也只能给myarray数组中标号为1的元素赋值而已,如果想给数组里每个元素的值都赋,当然还是要用循环来搞定啊。

  • 水里有条鱼
    2016-08-12 14:29:49

    不用一定要遍历,还有我还特意看了一下正确代码,没有用遍历啊

                var j=document.getElementById("wb").value;
                var hobby = document.getElementById("hobby"+j);
                hobby.checked = true;