这个什么错误啊,以前貌似没有出现过这样的错误,求大神帮忙看看啊!
1 回答
已采纳
Gotta
TA贡献53条经验 获得超16个赞
应该是作用域问题 ,js中作用域只有函数作用域和全局作用域,没有块级作用域。
for(var i =0; i< 10; i++){}
等价于
var i = 0;
for(i; i<10; i++){}
所以最终循环结束时,i = 10;
在你的代码中 ,当回调函数触发时,循环已经结束了,此时 i = aa.length ,aa[aa.length] 是undefined;
解决方案
var aaa = aa[i];
aaa.onmouseover = function(){
aaa.style.color ……;
aaa.style.fontSize ……;
}
或使用es6语法,当然 使用es6需要考虑浏览器兼容性或者用打包工具进行降级处理。。这里就不展开说明了……
添加回答
举报
0/150
提交
取消