FOR循环 赋值元素

来源:4-3 [DOM事件] QQ面板状态切换效果

lqzh

2016-04-21 15:13

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

      }

}


写回答 关注

2回答

  • qq_星空下的幻想_0
    2016-06-13 06:26:36

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

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


  • lqzh
    2016-04-21 15:17:08

    脑子一抽 又想通了……

    最终赋值的是  liList[i]。

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

    qq_星空下...

    我觉得这和闭包有关系,你可以看看知乎的这个回答http://www.zhihu.com/question/30759173

    2016-06-13 06:49:36

    共 1 条回复 >

DOM事件探秘

DOM事件?本课程会通过实例来给小伙伴们讲解如何使用这些事件

99544 学习 · 1197 问题

查看课程

相似问题