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

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

為什么這個有時候用不了?

為什么這個有時候用不了?

飛天意大利面神獸 2016-07-08 13:55:16
????????window.onload?=?function?()?{ ???????? var?lis=document.getElementsByTagName('li'); ???????? //alert(lis.length); ???????? for(var?i=0;i<lis.length;i++){ ???????? lis[i].onmouseover=function(){ ???????? alert(this.getElementsByTagName('div')[0]); ???????? } ???????? } ????????}如上代碼,比如第六行“this.getElementsByTagName('div')[0]”,換成了li[i].getElementsByTagName('div')[0],就會出錯:li is not defined。那么另外問一下,究竟是什么時候用this?非常感謝!
查看完整描述

1 回答

已采納
?
剛毅87

TA貢獻345條經驗 獲得超309個贊

鼠標移入事件是在 for 循環走完之后才執行的,所以此時 i= lis.length, 很明顯 li[lis.length]不存在;

所以此時得記錄 i 的值,用 index.

?window.onload?=?function?()?{
????????????var?lis=document.getElementsByTagName('li');
????????????//alert(lis.length);
????????????for(var?i=0;i<lis.length;i++){
????????????????lis[i].index?=?i;
????????????????lis[i].onmouseover=function(){
????????????????????alert(lis[this.index].getElementsByTagName('div')[0]);
????????????????}
????????????}
????????}

誰調用這個函數, this 就指代誰.

望采納!

查看完整回答
1 反對 回復 2016-07-08
  • 1 回答
  • 0 關注
  • 1390 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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