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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

js關于簡單選項表的一些疑問?

js關于簡單選項表的一些疑問?

qq_藥藥_0 2017-04-12 13:46:09
學了10天樣子的JS找了些題來練習,很多不明白。希望大家幫幫忙,先上代碼。.active ? ?{ ? ? ? ?background:#9CC; ? ?} ? ?.div2 ? ?{ ? ? ? ?width:300px; ? ? ? ?height:200px; ? ? ? ?border:1px #666666 solid; ? ? ? ?display:none; ? ?}</style> ? ?<script> ? ? ? ?window.onload=function(){ ? ? ? ? ? ?var odiv=document.getElementById('div1'); ? ? ? ? ? ?var btn=odiv.getElementsByTagName('input'); ? ? ? ? ? ?var div2=odiv.getElementsByTagName('div') ; ? ? ? ? ? ?for(i=0;i<btn.length;i++) ? ? ? ? ? ?{ ? ? ? ? ? ? ? ?btn[i].index=i; ? ? ? ? ? ? ? ?btn[i].onclick=function() ? ? ? ? ? ? ? ?{ ? ? ? ? ? ? ? ? ? ?for(i=0;i<btn.length;i++) ? ? ? ? ? ? ? ? ? ?{ ? ? ? ? ? ? ? ? ? ? ? ?btn[i].className='';? ? ? ? ? ? ? ? ? ? ? ? ?div2[i].style.display='none'; ? ? ? ? ? ? ? ? ? ?} ? ? ? ? ? ? ? ? ? ?this.className='active'; ? ? ? ? ? ? ? ? ? ?div2[this.index].style.display='block'; ? ? ? ? ? ? ? ?} ? ? ? ? ? ?} ? ? ? ?} ? ?</script></head><body><div id="div1"> ? ?<input type="button" ?class="active" value="1"/> ? ?<input type="button" value="2"/> ? ?<input type="button" value="3"/> ? ?<input type="button" value="4"/> ? ?<div class="div2" style="display:block;">11</div> ? ?<div class="div2">22</div> ? ?<div class="div2">33</div> ? ?<div class="div2">44</div></div></body>代碼是抄襲網上的,運行過能行。但是不能理解加粗,下劃線的兩行代碼。1‘?btn[i].index=i;這一句的index是索引位置,但是感覺遍歷btn就知道了位置。改為自定義的屬性a,b測試過都行,這個理解不知到對不對。2’div2[this.index].style.display='block';這個this.index應該大致等于?btn[i].index,但是為什么不能寫成div2[btn[1].index]和div2[i]。3‘div2沒有遍歷過為什么和input是對應的,點input2就是div2
查看完整描述

1 回答

已采納
?
qq_茬芐迷茫_03118827

TA貢獻8條經驗 獲得超3個贊

1.btn[i].index=i 是生成了(btn[0].index=0; btn[1].index=1; ?btn[2].index=2;btn[3].index=3;) index的英文是指數的意思 這就是自定義用index而不用a ?b的原因,(單純的為了方便使用)這里是為了給每一個btn按照0-3順序添加一個指數。

2.this.index是只當前點擊的那個btn的指數;btn[1].index 根據1中賦值他的指數就是1,是個定值;div2[i]表達的是for循環內最后一個值,(因為js的一塊一塊執行的 執行到for時它在接到.onclick的指量時會循環完畢然后輸出)div2[i]就只能表示為div2[3],也是一個定值。

3.點input就是相應的div2是因為 ?div2[this.index] ?因為他是在btn[i].onclick=function(){}的函數內,所以此處的this代表的是點擊的那個btn,而在最初的for循環里所有的btn已經被遍歷并賦上的相應的i值,所有自處的this.index=btn[i].index

此處的i是你點擊的那個btn的指數。(去百度下js的this解釋,能幫你更好的理解)

查看完整回答
反對 回復 2017-04-13
  • 1 回答
  • 1 關注
  • 1263 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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