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

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

求解!求解!求解!

?? var hobby = document.getElementsByName("hobby");
??????? hobby[parseInt(j)-1].checked=true;


這兩句不太明白???? 第一句是取這個元素的name賦值給 hobby 后面這句? -1 是什么意思

正在回答

5 回答

第一句獲取name是hobby的element,得到的是一個數組,然后第二句通過下標parseInt(j)-1取出checked的屬性并賦值true,-1是因為數組的下標是從0開始的

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

極客GHOST 提問者

怎么不是+1呀, 有點懂了
2015-04-07 回復 有任何疑惑可以回復我~
#2

lymo 回復 極客GHOST 提問者

j是1~6,對應數組的下標應該是0~5,那不-1嗎
2015-04-07 回復 有任何疑惑可以回復我~
#3

極客GHOST 提問者 回復 lymo

對~ 謝謝幫我解惑!
2015-04-07 回復 有任何疑惑可以回復我~

<!DOCTYPE HTML>
<html>
??? <head>
??????? <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
??????? <title>無標題文檔</title>
??? </head>
?? ?
??? <body>
??????? <form>
????????? 請選擇你愛好:<br>
????????? <input type="checkbox" name="hobby" id="hobby1">? 音樂
????????? <input type="checkbox" name="hobby" id="hobby2">? 登山
????????? <input type="checkbox" name="hobby" id="hobby3">? 游泳
????????? <input type="checkbox" name="hobby" id="hobby4">? 閱讀
????????? <input type="checkbox" name="hobby" id="hobby5">? 打球
????????? <input type="checkbox" name="hobby" id="hobby6">? 跑步 <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"); ?
?????????? for(var i=0;i<hobby.length;i++)
?????????? {
?????????????? hobby[i].checked=true;????????????? ?
?????????? }
????????? // 任務1
????????? ?
??????? }
??????? function clearall(){
??????????? var hobby = document.getElementsByName("hobby");
??????????? for(var i=0;i<hobby.length;i++)
??????????? {
??????????????? hobby[i].checked=false;
??????????? }
???????? // 任務2?? ?
?????????? ?
??????? }
?????? ?
??????? function checkone(){
??????????? var j=document.getElementById("wb").value;
??????????? if(parseInt(j)>6||parseInt(j)<1)
??????????? {
??????????????? alert("請輸入1-6之間的數字");
??????????? }
???????? // 任務3
??????????? var hobby=document.getElementsByName("hobby");
??????????? hobby[parseInt(j)-1].checked=true;
??????? }
?????? ?
??????? </script>
??? </body>
</html>

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

hobby[parseInt(j)-1].checked=true,這一句起的作用是判斷是否被選中。? 其中,hobby[parseInt(j)-1] 是一個數組。parseInt的作用是強制把字符串轉換成數字,因為有的時候我們得到的數字其實是一個字符串,不能進行算術操作,小括號里面的 j ,也只是一個傳值的參數,后面這個 -1,只是一個減去1的算術操作罷了,至于為什么要減去1,那得看程序的具體需求了。

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

極客GHOST 提問者

前面我都理解,就是為什么要減去1 有點不太明白
2015-04-07 回復 有任何疑惑可以回復我~
#2

牙尖十怪 回復 極客GHOST 提問者

因為數組的下標是從0開始的唄。你得到的第一個值,用數組表示是hobby[0],第二個則是hobby[1], so~~~一般在做for循環的時候,你循環第一次,i=1,那么數組的下標就應該是hobby[parseInt(1)-1].checked=true
2015-04-07 回復 有任何疑惑可以回復我~

等于沒回復

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

-1就是-1, ?意思說2-1=1、 1 -1=0 ?

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

極客GHOST 提問者

你覺得我是在問這個意思嗎
2015-04-07 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
JavaScript進階篇
  • 參與學習       468830    人
  • 解答問題       22582    個

本課程從如何插入JS代碼開始,帶您進入網頁動態交互世界

進入課程

求解!求解!求解!

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

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

幫助反饋 APP下載

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

公眾號

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