有关任务一的问题

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

superli18

2015-08-23 15:31

为什么任务一中, if(hobby[p].type="checkbox"),运行后就把全部的其他的选上了(不止那6个),而如果改为 if(hobby[p].name="hobby"),则正确,这个是什么回事,为什么if(hobby[p].type="checkbox"),不行。。。。。。。求解
写回答 关注

2回答

  • 学C的孩孩纸
    2015-08-24 14:54:39
    已采纳

    if里判断是否相等用的是==,而=是赋值的意思。应该为if(hobby[p].type=="checkbox")

    superl...

    谢谢 那为什么我那里改为 if(hobby[p].name="hobby") 是一个等号的 它为什么就运行的正确呢?

    2015-08-24 16:37:01

    共 2 条回复 >

  • 学C的孩孩纸
    2015-08-25 10:30:28

     if(hobby[p].type="checkbox"){            

          hobby[p].checked=true;

          alert(p+":"hobby[p].type);

      }你可以自己看一下,if里用等于号把所有input的type的属性值变成了checkbox,然后你戴拿里令checked=true,这样全部的type的属性值checkbox都成了true,所以全选就都变陈了对号

     if(hobby[p].name="hobby"){            

          hobby[p].checked=true;

          alert(p+":"hobby[p].name);

      }运行一下你自己看看alert的结果,这样也是所有input的name属性值都变成了hobby,但是因为你代码里写的是令checked=true,只有前六个input里有checkbox这个属性,后四个input没有这个属性,所以没有改变。。。。。。这样解释可以了吧。。。。。if是条件判断的语句,以后不要在放赋值符号进去了,亲。


JavaScript进阶篇

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

468195 学习 · 21891 问题

查看课程

相似问题