下面這段代碼不懂啊,求解答啊,var _this=this.getElementsByTagName('i')[0];
window.inload=function(){
var oMove=document.getElementById('move');
var aList=oMove.getElementsByTagName('a');
for(var i=0;i<aList.length;i++){
aList[i].onmouseover=function(){
var _this=this.getElementsByTagName('i')[0];
startMove(_this,{top:-25,opacity:0},function(){
_this.style.top=30+'px';
startMove(_this,{top:25,opacity:100})
});
}
}
}
以上這段是老師的代碼
for(var i=0;i<aList.length;i++){}
這個(gè)是遍歷所有取到的a標(biāo)簽,所以獲得的是一個(gè)數(shù)組,所以有了接下來的:
aList[i].onmouseover=function(){}
但是接下來的var _this=this.getElementsByTagName('i')[0];我不是很懂,為什么這里在當(dāng)前事件下,還要取第一個(gè)標(biāo)簽?zāi)兀?/p>
當(dāng)i=1時(shí),那么得到aList[1].onmouseover=function(){},也就是第二個(gè)a標(biāo)簽,這個(gè)時(shí)候?yàn)槭裁催€要取
var _this=this.getElementsByTagName('i')[0],這里取到的不是第一個(gè)i標(biāo)簽嗎,但是我們現(xiàn)在要的難道不是第二個(gè)i標(biāo)簽嗎,不懂,求解答。。。
2016-08-22
這快我也有問題,不過看了你們的解釋之后貌似明白了,首先都是用的getElementsByTagName所以這獲得都是一個(gè)數(shù)組,無論這個(gè)數(shù)組有多少元素,哪怕一個(gè),他也是數(shù)組,回到樓主的問題當(dāng)中,因?yàn)槎际怯玫臄?shù)組,所以要獲取對(duì)象都是用[0]的,拙見。
2016-04-26
當(dāng)i=0 時(shí),aList[i] 取到的是第一個(gè) a 標(biāo)記. ?
這個(gè)時(shí)候 ?var?_this=this.getElementsByTagName('i')[0]; ?中的_this 指的是第一個(gè)a中的 i 標(biāo)記.
當(dāng)i=1 時(shí),aList[i] 取到的是第二個(gè) a 標(biāo)記. ?
這個(gè)時(shí)候 ?var?_this=this.getElementsByTagName('i')[0]; ?中的_this 指的是第二個(gè)a中的 i 標(biāo)記.
并不是第一個(gè)i標(biāo)記. ?
注意?var?_this=this.getElementsByTagName('i')[0]; ? 這里面是this.getElementsByTagName('i')[0] ?而不是document.getElementsByTagName('i')[0]. 兩者取到的是不同的,后者取到的是整個(gè)文檔中的i的第一個(gè)
前者是 this下的i的第一個(gè),也就是第 i 個(gè)a中的 i標(biāo)記的第一個(gè).
2016-04-25
getElementsByTagName 這個(gè)方法返回一個(gè)類似數(shù)組的對(duì)象,訪問數(shù)組對(duì)象可以用下標(biāo)來訪問
【0】就是取其第一項(xiàng),(注意是elements 那個(gè)S 說明是個(gè)數(shù)組類的)
getElementsByTagName返回的是一個(gè)集合。[0],表示獲取傳進(jìn)來元素里面元素叫i的。