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

任务一二自己写的,任务三参考别人的,怎么一个也实现不了呢???求助

<!DOCTYPE HTML>

<html>

    <head>

        <meta http-equiv="Content-Type" content="text/html; charset=gb2312">

        <title>无标题文档</title>

    </head>

    

    <body>

        <form>

          请选择你爱好:<br>

          <input type="checkbox" name="hobby" id="hobby1">  音乐

          <input type="checkbox" name="hobby" id="hobby2">  登山

          <input type="checkbox" name="hobby" id="hobby3">  游泳

          <input type="checkbox" name="hobby" id="hobby4">  阅读

          <input type="checkbox" name="hobby" id="hobby5">  打球

          <input type="checkbox" name="hobby" id="hobby6">  跑步 <br>

          <input type="button" value = "全选" onclick = "checkall();">

          <input type="button" value = "全不选" onclick = "clearall();">

          <p>请输入您要选择爱好的序号,序号为1-6:</p>

          <input id="wb" name="wb" type="text" >

          <input name="ok" type="button" value="确定" onclick = "checkone();">

        </form>

        <script type="text/javascript">

        function checkall(){

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

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

            if(hobby[i].type=="checkbox")

            {hobby[i].checked=true;}

        }  

          // 任务1 

           

        }

        function clearall(){

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

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

                hobby[i].checked=false;

            }

         // 任务2    

            

        }

        

        function checkone()

        {

            

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

            var hobby=document.getElementById("hobby"+"j");

         // 任务3

            hobby.checked=true;

        }

        </script>

    </body>

</html>


提问者:慕粉1469604703 2016-09-06 11:00

个回答

  • 林x盖0
    2016-09-06 12:10:20
    已采纳

    1. 你需要弄清楚for循环和if判断语句的格式

      for(三个判断语句){}

            if(一个判断条件){}

    *所以你任务1,2错在把for循环的判断语句写出了if

    2.任务3中【var hobby=document.getElementById("hobby"+"j");】这一句需要去掉j的双引号

    【“j”】这个意思是hobby字符串加上j字符串,查找的Id就是hobbyj,但是是没有这个名字的id的

    【j】这样子就相当于一个变量,而j的值在上一句中通过“wb”id的查找出来的一个数字。

    *任务3的正确写法【var hobby=document.getElementById("hobby"+j);】

  • 95273667469
    2016-09-23 11:33:58

    补充任务三

     function checkone(){

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

                if(j>0&&j<7){

                    var hobby = document.getElementById("hobby"+j);

                    hobby.checked=true;

                }else{

                alert("长眼睛出气的!");}    

            }