求教,一個大括號引發的問題
大括號的位置
一,不可以執行的版本,
? ?? function checkone(){
??????????? var hobby = document.getElementsByName("hobby");
??????????? for(var o=1;o<=hobby.length;o++){
??????????????? hobby[o].checked=false;
?????????? ?
??????????? }
?????? ?
??????????? var u=document.getElementById("wb").value;
?????????? ?
??????????????? hobby[u].checked=true;
?????????? ?
?
??????????? }
二 可以執行的版本
?function checkone(){
??????????? var hobby = document.getElementsByName("hobby");
??????????? for(var o=1;o<=hobby.length;o++){
??????????????? hobby[o].checked=false;
?????????? ?
??????????
?????? ?
??????????? var u=document.getElementById("wb").value;
?????????? ?
??????????????? hobby[u].checked=true;
?????????? ? }
???????
??????????? }
我自己寫的是一,? 清除完再選定。我在哪里出錯了,求教
2018-07-12
這個代碼是你的第一個版本(不可以執行的版本)修改過來,你的邏輯沒問題;
注釋的兩個地方,我已經寫出來:
注釋1:之所以失敗,是因為你用了<=,直接導致后邊的代碼不起作用,也就是執行了循環后就結束了;
注釋2:數組下標從0開始,表面上看 1.音樂 ~ 6.跑步,但實際上后臺數組對應下邊應該是 0.音樂 ~ 5.跑步,獲取值那里必須手動減 1
2018-07-12
function checkone(){
??????????? var hobby = document.getElementsByName("hobby");
????????????var u=document.getElementById("wb").value;
??????????? for(var o=1;o<=hobby.length;o++){
??????????????? hobby[o].checked=false;
??????????????? hobby[u].checked=true;
?????????? ??}
????????
? ? ? }
寫法不規范,沒有弄清楚哪些該循環,哪些不該