亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

javascript進階篇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;而要通過for循環*/

? ? ? ? ? ??

? ? ? ? }

? ? ? ??

? ? ? ? function checkone(){

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

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

? ? ? ? ? ? hobby[parseInt(j)-1].checked=true;

? ? ? ? ?

? ? ? ??

? ? ? ? }

? ? ? ??

? ? ? ? </script>


正在回答

1 回答

因為getElementsByName()方法獲取的Name值不是唯一的,可以重復,它所返回的是一個集合(可類比數組來理解),不像getElementById()獲得的是唯一的ID值就用hobby.checked=false這樣的寫法,所以要想實現全不選按鈕,那么要一個一個的置為false(即hobby[i].checked=false;),而要想一個一個的置為false就要遍歷這個集合,所以通過for循環來遍歷。

0 回復 有任何疑惑可以回復我~
#1

qq_我本非凡_1 提問者

非常感謝!
2017-04-04 回復 有任何疑惑可以回復我~
#2

qq_我本非凡_1 提問者

用數組名hobby不是可以代表整個數組嗎
2017-04-04 回復 有任何疑惑可以回復我~
#3

SHsama 回復 qq_我本非凡_1 提問者

var hobby = document.getElementsByName("hobby");這里的hobby 就相當于一個數組,要想清空不是一下子就置空的,就像數組一樣,你要輸出一個數組難道是直接輸出arr就能得到里面的所有數據?還不是遍歷輸出。所以是hobby[i].checked=false;而不是hobby.checked=false;
2017-04-04 回復 有任何疑惑可以回復我~
#4

SHsama 回復 qq_我本非凡_1 提問者

var hobby = document.getElementsByName("hobby");這里的hobby 接受document.getElementsByName("hobby")返回的一個集合。
2017-04-04 回復 有任何疑惑可以回復我~
#5

qq_我本非凡_1 提問者 回復 SHsama

哦,我知道了
2017-04-04 回復 有任何疑惑可以回復我~
查看2條回復

舉報

0/150
提交
取消

javascript進階篇9-4

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號