this的問題,為什么用as[i]沒效果,但用this沒問題?
for(var i=0;i<as.length;i++){
? ? ? ? as[i].onmouseover = function(){
? ? ? ? ? ??
? ? ? ? ? ?this.style.background='#ccc';
? ? ? ? ? ?//as[i].style.background='#ccc';
? ? ? ? }
? ? }
for(var i=0;i<as.length;i++){
? ? ? ? as[i].onmouseover = function(){
? ? ? ? ? ??
? ? ? ? ? ?this.style.background='#ccc';
? ? ? ? ? ?//as[i].style.background='#ccc';
? ? ? ? }
? ? }
2016-08-21
舉報
2016-08-23
this指的當前對象,可以是鼠標離開的按鈕、文本框等,as[i]指的數(shù)組內其中一個索引所對應的值,比如as[1,2,3,4],不能給2設置 style樣式。
2016-09-19
可以用as[i].style設置style樣式,但是事件處理程序在這里是一個閉包,所以在事件處理程序里面的i永遠等于for循環(huán)結束最后一個i的值,這里為5,as[5]不存在,所以沒有效果。如果設置循環(huán)條件為i<as.length-1;就可以看到,你鼠標移在任何一個li標簽上面,都只有最后一個li標簽變色,因為i只等于4。
2016-08-29
this指的當前對象,可以是鼠標離開的按鈕、文本框等,as[i]指的數(shù)組內其中一個索引所對應的值,比如as[1,2,3,4],你可以給as[1],as[2],as[3],as[4],as[5]中的任意一個設置樣式,比如as[1].style.background='#ccc';但是你不能給as[i]設置 style樣式,as[i].style.background='#ccc';這種方式是錯誤的。
2016-08-28
不好意思 ?我沒有積分了,回答問題賺個積分