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

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

關于this和index的問題

? ? ? ??

? ? // JS實現選項卡切換

? ? ?window.onload=function(){

? ? ?var tabs=document.getElementById("tabs");

? ? ?var li=document.getElementsByTagName("li");

? ? ?var div=tabs.getElementsByTagName("div");

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

? ? ? ? ?li[i].index=i;

? ? ? ? ?li[i].onclick=function(){

? ? ? ? ? ? for(var n=0;n<li.length;n++){

? ? ? ? ? ? ? ? li[n].className="";

? ? ? ? ? ? ? ? div[n].className="hide";

? ? ? ? ? ? }?

? ? ? ? ? ? this.className="on";

? ? ? ? ? ? div[this.index].className="";

? ? ? ? ?}

? ? ?}

?}

this的用法到底是什么,這里指的是<li>嗎,將i的值f賦給<li>的索引,最后是怎樣和div索引綁定的??

正在回答

3 回答

li[i].index=i; ?這里是自定義屬性,給li循環添加了一個index,這個index可以命名(abc,sadfaf),只是習慣和方便閱讀.

代碼 li[n].className=""; 是把所有li的className清空

這里的this指的是你點擊的對象,就是li,把點擊的li的className變成'on';

div[this.index]這里的this.index就是你點擊的li身上的自定義索引值,0或1或2,比如點擊第1個或第3個li ?,理解為div[0] ? div[2]

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

慕田峪6011835 提問者

謝謝!
2017-03-05 回復 有任何疑惑可以回復我~
#2

不會修電腦的程序員

this指的是點擊的對象,就是li,那可以把this換成li么?同樣可以把this.index換成li.index么?不可以的話為什么???
2017-03-20 回復 有任何疑惑可以回復我~
#3

不會修電腦的程序員 回復 慕田峪6011835 提問者

this指的是點擊的對象,就是li,那可以把this換成li么?同樣可以把this.index換成li.index么?不可以的話為什么?。?/div>
2017-03-20 回復 有任何疑惑可以回復我~
#4

套子里的海怪 回復 不會修電腦的程序員

this 是Javascript語言的一個關鍵字它代表函數運行時,自動生成的一個內部對象,只能在函數內部使用。
2017-03-20 回復 有任何疑惑可以回復我~
查看1條回復

this在這里指向的是調用函數的對象

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

? ? ?li[i].index=i; ?這段代碼是什么意思啊,總覺得他可有可無,li[i]就可以找到對應的li?。??求解答

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

套子里的海怪

作用域的問題,你到for循壞在外面是無法使用這兒的函數內部的i的。
2017-03-06 回復 有任何疑惑可以回復我~

舉報

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

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

進入課程

關于this和index的問題

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

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

幫助反饋 APP下載

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

公眾號

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