为什么不设置bgcchange函数就改变不了背景颜色

来源:9-22 编程练习

weibo_Eddyscut_0

2016-08-02 23:43

          window.onload = function(){

                  

     // 鼠标移动改变背景,可以通过给每行绑定鼠标移上事件和鼠标移除事件来改变所在行背景色。

         var app=document.getElementsByTagName("tr");

for(var i=0;i<app.length;i++)

        {

            app[i].onmouseover=function(){

                app[i].style.backgroundColor="#f2f2f2";

            }

             app[i].onmouseout=function(){

                app[i].style.backgroundColor="#fff";

            }

        }

      }

像这样写是没有效果的

然后添加了bgcchange函数就有效果了

 window.onload = function(){

          var tr=document.getElementsByTagName("tr");

          for(var i= 0;i<tr.length;i++)

          {

              bgcChange(tr[i]);

          }

     // 鼠标移动改变背景,可以通过给每行绑定鼠标移上事件和鼠标移除事件来改变所在行背景色。

      }         

function bgcChange(obj)

     {

        obj.onmouseover=function(){

            obj.style.backgroundColor="#f2f2f2";

        }

        obj.onmouseout=function(){

            obj.style.backgroundColor="#fff";

        }

}


写回答 关注

1回答

  • weibo_Eddyscut_0
    2016-08-02 23:52:34

    好像是这样的,改成这样就可以了,函数内app[i]没有定义

    for(var i=0;i<app.length;i++)

            {

                app[i].onmouseover=function(){

                    this.style.backgroundColor="#f2f2f2";

                }

                 app[i].onmouseout=function(){

                    this.style.backgroundColor="#fff";

                }

            }


JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

467385 学习 · 21877 问题

查看课程

相似问题