问答详情
源自:9-22 编程练习

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

          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";

        }

}


提问者:weibo_Eddyscut_0 2016-08-02 23:43

个回答

  • 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";

                }

            }