第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

js進(jìn)階9.4中的問題

<!DOCTYPE HTML>

<html>

? ? <head>

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

? ? ? ? <titlntsByName,getElementsBe>無標(biāo)題文檔</title>

? ? </head>

? ??

? ? <body>

? ? ? ? <form>

? ? ?

? ? ?請選擇你愛好:<br>

? ? ? ? ? <input type="checkbox" name="hobby" id="hobby1"> ?1音樂

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

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

? ? ? ? ? <input type="checkbox" name="hobby" id="hobby4"> ?4閱讀

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

? ? ? ? ? <input type="checkbox" name="hobby" id="hobby6"> ?6跑步 <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");

? ? ? ? ??

? ? ? ? ? // 任務(wù)1?

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

? ? ? ? {

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

? ? ? ? ?{

? ? ? ? ? ? hobby[i].checked = true;

? ? ? ? ?}

? ? ? ? }

?

? ? ? ? }

? ? ? ? function clearall(){

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

? ? ? ? ? ??

? ? ? ? ?// 任務(wù)2 ? ?

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

? ? ? ? ? {

? ? ? ? ? ? ?hobby[i].checked = false;

? ? ? ? ? }

? ? ? ? }

? ? ? ??

? ? ? ? function checkone(){

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

? ? ? ? ?// 任務(wù)3

? ? ? ? ? ? var hobby = document.getElementById("hobby"+j)//要提問的部分;

? ? ? ? ? ? hobby.checked = true;

? ? ? ? }

? ? ? ??

? ? ? ? </script>

? ? </body>

</html>

題目任務(wù)1.在第27行處補(bǔ)充完整,實現(xiàn)當(dāng)點擊"全選"按鈕時,將選中所有的復(fù)選項。

提示:document.getElementsByTagName("input")獲取的是所有input標(biāo)簽,包括復(fù)選項和按鈕,所以要判斷是否是復(fù)選項,如是選中。

2.在第33行處補(bǔ)充完整,實現(xiàn)當(dāng)點擊"全不選"按鈕時,將取消所有選中的復(fù)選項。

3.在第40行處補(bǔ)充完整,在文本框中輸入輸入1-6數(shù)值,當(dāng)點擊"確定"按鈕時,根據(jù)輸入的數(shù)值,通過id選中相應(yīng)的復(fù)選項。

問題:1.代碼中hobby+j hobby代表的是一個數(shù)組 而j是輸入的數(shù)字,那hobby+j代表啥?。?/p>

? ? ? ?2.把任務(wù)三寫成hobby[j-1].checked=true;為什么不行???

正在回答

3 回答

?var hobby = document.getElementById("hobby"+j)//要提問的部分;

? ? ? ? ? ? hobby.checked = true;

首先 ?j代表的是 ?文本框輸入的內(nèi)容 ?數(shù)字 1-6

變量hobby ?表示的是獲取 id為hobby1-6的元素?

“hobby”是字符串 ??"hobby"+j ?的意思是hobby后面緊跟著的內(nèi)容是j ??

當(dāng)j=1 是 ? ?他表示的是 ?字符串 “hobby1” ?和上面的id相對應(yīng)

0 回復(fù) 有任何疑惑可以回復(fù)我~

hobby是一個數(shù)組,j是文本框的value,所以,hobby+j毫無意義。

其次,你把hobby加上引號,"hobby"它就不再是數(shù)組,而是字符串.再一個你把hobby[j-1].checked=true中的j用轉(zhuǎn)成整形試一試。這是我的代碼,希望對你有所幫助

function checkone(){

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

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

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

? ? ? ? ? ? ? ? hobby[i].checked=false;

? ? ? ? ? ? ? ? if(hobby[i].id.indexOf(j)>-1){

? ? ? ? ? ? ? ? ? ? hobby[i].checked=true;

? ? ? ? ? ? ? ? }

? ? ? ? ? ? }

0 回復(fù) 有任何疑惑可以回復(fù)我~
  1. 注意hobby與"hobby"區(qū)別,hobby是Id為("hobby"+j)的對象,"hobby"是個字符串,"hobby"+j ?還是個字符串

  2. 注意getElementById與getElementsByName的區(qū)別,前者獲得一個對象,后者獲得對象的集合,也就是你說的數(shù)組的表現(xiàn),如果hobby=document.getElementsByName("hobby"),hobby[j-1].checked=true;就對了


0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消
JavaScript進(jìn)階篇
  • 參與學(xué)習(xí)       468768    人
  • 解答問題       22442    個

本課程從如何插入JS代碼開始,帶您進(jìn)入網(wǎng)頁動態(tài)交互世界

進(jìn)入課程

js進(jìn)階9.4中的問題

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號