JS进阶篇9-4任务3,自己做了个小拓展,虽然功能实现但却会报错

来源:9-4 区别getElementByID,getElementsByName,getElementsByTagName

熊猫兔击队

2017-01-09 17:53


JS进阶篇的这一课:http://www.imooc.com/code/3251


任务3,我的代码是:

function checkone() {

var j = document.getElementById("wb").value;

var hobby = document.getElementsByName("hobby");

for(i = 0; i < hobby.length; i++) {

hobby[j-1].checked = true;

hobby[i].checked = false;//不符合的但被选中了则取消选中

}

虽然“不符合的但被选中了则取消选中”那行代码能实现我的目的,但其实chrome的console那会报错。为什么呢?该如何修改呢?



写回答 关注

2回答

  • zl19870726
    2017-01-11 08:26:09
    已采纳

     最后选择爬山的时候,你会先选中,再取消,所以最后选不中,选中应该放在for循坏的外面,你再尝试一下

      for (i = 0; i < hobby.length; i++) {

                        hobby[i].checked = false;//不符合的但被选中了则取消选中

                    }

                    hobby[j - 1].checked = true;


    熊猫兔击队

    谢谢。不过我发现放循环里面也可以

    2017-01-11 22:05:13

    共 1 条回复 >

  • 慕斯4472785
    2017-01-10 21:27:59

    在输入1-6之间的数字,并不会报错啊,但发现个问题,输入6的时候选不到爬山,i < hobby.length+1

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468060 学习 · 21891 问题

查看课程

相似问题