为了账号安全,请及时绑定邮箱和手机立即绑定

为什么 hobby[i].checked=true;可以,但是hobby[i].setAttribute("checked",true); 没有反应。单独全选可以实现,,

        function checkall(){

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

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

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

                     hobby[i].checked=true;

                   // hobby[i].setAttribute("checked",true);                                                                                                                                                                                     

                }

            }

           

        }

        function clearall(){

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

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

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

                   hobby[i].checked=false;

                  //  hobby[i].setAttribute("checked",false);                                                                                                                                                                                     

                }

            }            

        }

        


正在回答

3 回答

你这样写其实只能实现全选而已

checked="不管什么都是会选中",这里的checked是attribute,html里只要有了checked就会选中。
而js控制选中的checked不是attribute(string),而是properties(bool)。
这两个还是有区别的,这在jquery1.6+里已经很好诠释了。

你可以理解成checked是attribute还是properties是两种表现

在你这代码里是attribute


0 回复 有任何疑惑可以回复我~

hobby[i].setAttribute("checked","false");  

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么 hobby[i].checked=true;可以,但是hobby[i].setAttribute("checked",true); 没有反应。单独全选可以实现,,

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信