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

求解释这2段代码

<script type="text/javascript"> 
  
      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";
        }
  }
   
  // 编写一个函数,供添加按钮调用,动态在表格的最后一行添加子节点;
     var num=2;
     function add(){
        num++;
        var tr=document.createElement("tr");
        var xh=document.createElement("td");
        var xm=document.createElement("td");
        xh.innerHTML="xh00"+num;
        xm.innerHTML="第"+num+"学生";
        var del=document.createElement("td");
        del.innerHTML="<a href='javascript:;' onclick='del(this)' >删除</a>";
        var tab=document.getElementById("table");
        tab.appendChild(tr);
        tr.appendChild(xh);
        tr.appendChild(xm);
        tr.appendChild(del);
        var tr = document.getElementsByTagName("tr");
          for(var i= 0;i<tr.length;i++)
          {
              bgcChange(tr[i]);
          }
     }
   
      
     // 创建删除函数
     function del(obj)
     {
         var tr=obj.parentNode.parentNode;
         tr.parentNode.removeChild(tr);
     }
     
  //以上是别人的整段代码
  
1、     window.onload = function(){
          var tr=document.getElementsByTagName("tr");
          for(var i= 0;i<tr.length;i++)
          {
              bgcChange(tr[i]);
          }
 这部分不理解,为什么用window.onload与循环,不理解是什么意思
 
 2、        var tr = document.getElementsByTagName("tr");
          for(var i= 0;i<tr.length;i++)
          {
              bgcChange(tr[i]);
          }
     }   
   add()函数中加的这个是什么意思?  
   
   写着似乎明白了;
   1是在加载时为现有的加上bgcChange();而新加的行并不具备bgcChange(),所以有了2??????
   是这样吗??


正在回答

1 回答

window.onload是在窗口加载完后调用函数。

循环是使所有获取到的tr依次调用改变背景色的函数。

var tr=document.getElementsByTagName("tr");得到的是一个类似数组的tr集合。


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

ChenBugBug 提问者

非常感谢!
2016-11-03 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

求解释这2段代码

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号