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

js写循环只有最后一个有效

js写循环只有最后一个有效

Helenr 2018-12-19 15:14:07
var li = document.querySelectorAll('li');for (var i = 0 ; i < 11 ; i ++){        li[i].addEventListener('mouseover', function () {            li[i].style.backgroundColor = 'white';            console.log(i);        });    }希望的效果是鼠标经过标签的时候改变颜色通过addevenlistener添加mouseover实现但是现在的效果是不管鼠标经过哪个liconsolelog输出的都是11 也就是只有最后一个变颜色
查看完整描述

1 回答

?
慕斯709654

TA贡献1840条经验 获得超5个赞

其实写成这样就好了吧:

var li = document.querySelectorAll('li');

for (var i = 0 ; i < 11 ; i ++){

    li[i].onmouseover = function () {

        this.style.backgroundColor = 'white';

    };

}

(虽然知道是闭包题,但是能解决问题不就得了么。。)

查看完整回答
反对 回复 2019-01-03
  • 1 回答
  • 0 关注
  • 398 浏览
慕课专栏
更多

添加回答

举报

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