第三个功能这样实现OK吗?

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

larger

2016-01-14 21:14


       function checkone(){
            var j=document.getElementById("wb").value;
            var x=document.getElementsByName("hobby");
            if(j.indexOf("1")>-1){x[0].checked=true;}
            if(j.indexOf("2")>-1){x[1].checked=true;}
            if(j.indexOf("3")>-1){x[2].checked=true;}
            if(j.indexOf("4")>-1){x[3].checked=true;}
            if(j.indexOf("5")>-1){x[4].checked=true;}
            if(j.indexOf("6")>-1){x[5].checked=true;}
         // 任务3
        
        }

嗯 简化了一下,这样符合正确的开发习惯吗?

        function checkone(){
            var j=document.getElementById("wb").value;
            var x=document.getElementsByName("hobby");
            for(var i=0;i<x.length;i++)
            if(j.indexOf(i)>-1){x[i-1].checked=true;}

         // 任务3
        
        }


写回答 关注

1回答

  • piyang88
    2016-01-15 09:55:10

    差不多吧,要用字符串函数。还可如下优化:考虑扩展性,检查j.charAt(j.length-i.length)是否为数字。(例如输入数字6,而不应该匹配16....)

JavaScript进阶篇

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

468061 学习 · 21891 问题

查看课程

相似问题