为什么在FUNCTION里边无法直接读取变量
var aLi=document.getElementsByTagName('li');
for(var i=0; i<aLi.length; i++){
aLi[i].onmouseover=function(){
var childnodes = this.childNodes;
for(var j = 0; j<childnodes.length;j++){
if(childnodes[j].nodeName=="UL"){
var currentnode=childnodes[j];
var Timeaction = setInterval(function(){
currentnode.style.height = currentnode.offsetHeight+10+"px";
},30);
}
}有很多个LI,LI下面有UL子元素,我想要获取到UL子元素,所以我在
var Timeaction = setInterval(function(){
childnodes[j].style.height = currentnode.offsetHeight+10+"px";
},30);直接调用childnodes[j],结果返回结果为undefined,但是我在函数外面设置一个
var currentnode=childnodes[j];
然后再调用
currentnode.style.height = currentnode.offsetHeight+10+"px";
这样就可以调用,为什么我无法直接在函数中调用childnode[j],这个childnodes[j]应该是可以调用的呀,还有就是在function中为什么只能使用this,比如this.childNodes,才能正常调用,我使用aLi[i].childNodes就无法正常调用了,返回的是undefined的呢?