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

函数合并后为什么不能正常运行了?


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

        }

}


将以上两段函数合并起来,改成以下代码,为什么不行呢?:


      window.onload = function(){

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

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

          {

            tr[i].onmouseover=function(){

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

            }

            tr[i].onmouseout=function(){

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

            }

          }

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

      }         


正在回答

2 回答

window.onload = function(){          
var tr=document.getElementsByTagName("tr");
          for(var i= 0;i<tr.length;i++)
          {
            tr[i].id=i;                //这样呢?
            tr[i].onmouseover=function(){
                tr[this.id].style.backgroundColor="#f2f2f2";
            }
            tr[i].onmouseout=function(){
                tr[this.id].style.backgroundColor="#fff";
            }
          }
     // 鼠标移动改变背景,可以通过给每行绑定鼠标移上事件和鼠标移除事件来改变所在行背景色。
      }


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

wengyaqiang 提问者

谢谢,请问是涉及到什么知识点呢?this的用法在哪个课程里可以学到?
2015-07-21 回复 有任何疑惑可以回复我~
#2

浅水了 回复 wengyaqiang 提问者

this -->>当前发生的事件。当你移动鼠标时,当前样式发生改变所以用this
2015-07-21 回复 有任何疑惑可以回复我~
#3

wengyaqiang 提问者

非常感谢!
2015-07-26 回复 有任何疑惑可以回复我~

window.onload = function(){          

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

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

          {

            tr[i].onmouseover=function(){

                this.style.backgroundColor="#f2f2f2";

            }

            tr[i].onmouseout=function(){

                this.style.backgroundColor="#fff";

            }

          }

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

      }



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

wengyaqiang 提问者

谢谢,请问是涉及到什么知识点呢?this的用法在哪个课程里可以学到?
2015-07-21 回复 有任何疑惑可以回复我~
#2

wengyaqiang 提问者 回复 wengyaqiang 提问者

为什么不能直接用 tr[i]
2015-07-21 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

函数合并后为什么不能正常运行了?

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