javascript進(jìn)階篇9-4
? ? ?<script type="text/javascript">
? ? ? ? function checkall(){
? ? ? ? ? ? var hobby = document.getElementsByTagName("input");
? ? ? ? ? ? for(var i=0;i<hobby.length;i++){
? ? ? ? ? ?if(hobby[i].type=="checkbox"){
? ? ? ? ? ? ? ?hobby[i].checked=true;
? ? ? ? ? ?}
? ? ? ? }?
? ? ? ? ? ?
? ? ? ? }
? ? ? ? function clearall(){
? ? ? ? ? ? var hobby = document.getElementsByName("hobby");
? ? ? ? for(var i=0;i<hobby.length;i++){
? ? ? ? ? ? hobby[i].checked=false;}
? ? ? ? /*這里為什么不能直接hobby.checked=false;而要通過(guò)for循環(huán)*/
? ? ? ? ? ??
? ? ? ? }
? ? ? ??
? ? ? ? function checkone(){
? ? ? ? ? ? var j=document.getElementById("wb").value;
? ? ? ? ? ? var hobby=document.getElementsByName("hobby");
? ? ? ? ? ? hobby[parseInt(j)-1].checked=true;
? ? ? ? ?
? ? ? ??
? ? ? ? }
? ? ? ??
? ? ? ? </script>
2017-04-04
因?yàn)間etElementsByName()方法獲取的Name值不是唯一的,可以重復(fù),它所返回的是一個(gè)集合(可類比數(shù)組來(lái)理解),不像getElementById()獲得的是唯一的ID值就用hobby.checked=false這樣的寫(xiě)法,所以要想實(shí)現(xiàn)全不選按鈕,那么要一個(gè)一個(gè)的置為false(即hobby[i].checked=false;),而要想一個(gè)一個(gè)的置為false就要遍歷這個(gè)集合,所以通過(guò)for循環(huán)來(lái)遍歷。