整段代码,有几句不懂的地方,求解

来源:9-22 编程练习

慕粉1859536052

2017-04-14 15:54

参考同学代码,有几句没看懂的地方,已经注释出来,求解


<!DOCTYPE HTML>

<html>

 <head>

  <title> new document </title>  

  <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>   

  <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;//这一句不懂,为什么是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);

     }

     

   

   



  </script> 

 </head> 

 <body> 

     <table border="1" width="50%" id="table">

     <tr>

    <th>学号</th>

    <th>姓名</th>

    <th>操作</th>

     </tr>  


     <tr>

    <td>xh001</td>

    <td>王小明</td>

    <td><a href="javascript:;" onclick="del(this);">删除</a></td>   <!--在删除按钮上添加点击事件  -->

     </tr>


     <tr>

    <td>xh002</td>

    <td>刘小芳</td>

    <td><a href="javascript:;" onclick="del(this);">删除</a></td>   <!--在删除按钮上添加点击事件  -->

     </tr>  


     </table>

     <input type="button" value="添加一行" onclick="add()" />   <!--在添加按钮上添加点击事件  -->

 </body>

</html>


写回答 关注

4回答

  • 慕粉1859536052
    2017-04-17 16:45:34

    我想让这个函数在页面加载时执行,而这需要使用onload事件处理函数。

    window.onload=countBodyChildren;

    这条语句的作用是页面加载时调用countBodyChildren函数。

    --《JavaScript DOM 编程艺术》(第2版)

  • 慕运维2671735
    2017-04-16 07:45:55

    我也不是很理解为什么onload里面写使得行变色的代码 为什么是在加载之后调用

  • 青青子衿A
    2017-04-14 17:39:07
    window.onload = function(){//这句不懂

    文档加载完成之后立即执行function里的代码

    慕粉1859...

    请问能说得更具体一点吗?

    2017-04-14 20:27:07

    共 1 条回复 >

  • 75克酸奶
    2017-04-14 17:31:26

     var num=2;//这一句不懂,为什么是2

    ==>前面已经有2个学生, 在添加就是第3个了。

    慕粉1859...

    谢谢!

    2017-04-14 20:45:05

    共 1 条回复 >

JavaScript进阶篇

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

467393 学习 · 21877 问题

查看课程

相似问题