关于任务3的问题?

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

猩大大

2016-07-18 16:02

好像这样写也可以

 function checkone(){

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

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

            hobby[j-1].checked = true;

        }

但是为啥很多人这样写呢

function checkone(){

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

            if(parseInt(j)>6||parseInt(j)<1)

            {

                alert("请输入1-6之间的数字");

            }

        

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

            hobby[parseInt(j)-1].checked=true;

        }


写回答 关注

1回答

  • 爱生活爱阳光
    2016-07-18 19:38:22

    中间的判断是为了提示用户正确输入的,把中间的判断去掉的话,下面的答案只是多了一步parseInt()解析字符串而已。个人认为这一步是不必要的,因为不设定基数的话有可能会解析出错。

    附上我的答案:

            function checkone(){

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

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

            }


JavaScript进阶篇

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

468195 学习 · 21891 问题

查看课程

相似问题