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

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

關于用 lis 和用 as 的區別?

//?滑過滑過、離開、點擊每個選項時
??????//?執行腳本
??????for(var?i=0;i<lis.length;i++){
??????????lis[i].onmouseover=function(){
??????????????this.style.background='#CCC';
??????????}
??????????lis[i].onmouseout=function(){
??????????????this.style.background='#FFF';
??????????}
??????????lis[i].onclick=function(event){
??????????????menu.style.display='none';
??????????????title.innerHTML=this.innerHTML;
??????????}
??????}

用 lis 如上執行出來的是藍色連接樣式如圖

http://img1.sycdn.imooc.com//574805900001eab802390055.jpg

問題1:其中lis[i].onclick=function(event){
??????????????menu.style.display='none';
??????????????title.innerHTML=this.innerHTML;
??????????}部分的 this 換成lis[i] 就不行了,為什么?

問題2:改用參考答案as[i]來執行如下:

//?滑過滑過、離開、點擊每個選項時
??????//?執行腳本
??????for(var?i=0;i<as.length;i++){
??????????as[i].onmouseover=function(){
??????????????this.style.background='#CCC';
??????????}
??????????as[i].onmouseout=function(){
??????????????this.style.background='#FFF';
??????????}
??????????as[i].onclick=function(event){
??????????????menu.style.display='none';
??????????????title.innerHTML=this.innerHTML;
??????????}
??????}

執行效果:

http://img1.sycdn.imooc.com//574806a400014bd302160060.jpg

相比用 lis 的效果,為什么會有這樣的差異呢?

正在回答

2 回答

樓上說的對lis包含a標簽

當你用as[i].onclick=function(){}時 as[i]還不是個對象(java里叫類),就沒有屬性,你可以看下瀏覽器的開發者工具控制臺

顯示的應該是undifend,如果有java或面向對象的基礎就比較好理解了。

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

只能告訴你樣式的不同,lis[i].innerHTML中包含a標簽,所以會出現上面那種情況,至于this為什么不能用對象直接替代,我找了好多資料也沒有理解,只是說不能用這種方式創建function,不懂

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

舉報

0/150
提交
取消
DOM事件探秘
  • 參與學習       99530    人
  • 解答問題       1305    個

DOM事件?本課程會通過實例來給小伙伴們講解如何使用這些事件

進入課程

關于用 lis 和用 as 的區別?

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

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

幫助反饋 APP下載

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

公眾號

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