为了账号安全,请及时绑定邮箱和手机立即绑定

js Uncaught TypeError: Cannot read property 'style' of undefined

js Uncaught TypeError: Cannot read property 'style' of undefined

Mr_zhaoyouqian 2018-06-06 23:12:16
这个什么错误啊,以前貌似没有出现过这样的错误,求大神帮忙看看啊!
查看完整描述

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需要考虑浏览器兼容性或者用打包工具进行降级处理。。这里就不展开说明了……

查看完整回答
2 反对 回复 2018-06-07
  • 1 回答
  • 0 关注
  • 1584 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信