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

FOR循环 赋值元素

liList  i 都为全局变量。

liList = document.querySelectorAll("ul>li");

    for (i = 0; i < liList.length; i++) {

        liList[i].onmouseover = function () {

             liList[i].style.backgroundColor = "#567";    //为什么不能用 liList[i] 而只能用this

      }

}


正在回答

3 回答

为什么用下面第一行代码也不会显示第六行的效果呢

 liList[i].style.backgroundColor = "#567";
LiList[6].style.backgroundColor ="#567"


0 回复 有任何疑惑可以回复我~

脑子一抽 又想通了……

最终赋值的是  liList[i]。

i =6 所以,最后所有的LI 赋值的函数都是 LiList[6].style.backgroundColor ="#567"

1 回复 有任何疑惑可以回复我~
#1

qq_星空下的幻想_0

我觉得这和闭包有关系,你可以看看知乎的这个回答http://www.zhihu.com/question/30759173
2016-06-13 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

FOR循环 赋值元素

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信