為什么只能用this呢。個人的見解。不知道對不對
在取出元素a的innerHTML后,想賦值給cite。只能用this.innerHTML? 為什么不能用as[i].innerHTML ? 估計是因為[]可以表示一個元素的屬性?
可以運行的代碼:
var?title=box.getElementsByTagName('cite')[0],
? ? ? as=box.getElementsByTagName('a');
? ? ? for(var i=0;i<as.length;i++){
? ? ? as[i].onclick=function(){
? ? ? title.innerHTML=this.innerHTML;
? ? ? }
把上面的this換成as[i]就沒法運行。
2015-07-21
因為代碼執(zhí)行到onclick的回調(diào)方法里的時候,i早就已經(jīng)++最大值了,超出索引范圍了。按你想法改了之后,每次點擊a,執(zhí)行的i總是a的長度。所以你要么是用你的this,還可以用(function(i){
//code here?
})(i))這樣把i傳遞進來。
2015-07-05
as[i].onclick=function(){
? ? ? title.innerHTML=this.innerHTML; //改成as[i]這樣記錄是得到的i最大的值。
? ? ? }
可以改成這樣:
(function(item){
title.innerHTML=item.innerHTML;
}(as[i]))