为什么最后tr加到table里面的时候加到table[0]才有效啊

来源:9-22 编程练习

Peiven_陈

2019-10-05 10:17

<!DOCTYPE html>

<html>

 <head>

  <title> new document </title>  

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

  <script type="text/javascript"> 

  

      window.onload = function(){

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

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

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

         {

             bgChange(t[i]);

         }

function bgChange(a)

{

    a.onmouseover =function(){

        a.style.backgroundColor ="#F2ACAC";

    }

    a.onmouseout =function(){

        a.style.backgroundColor ="#fff";

    }

}

}

     

      // 编写一个函数,供添加按钮调用,动态在表格的最后一行添加子节点;

     var num = 2;

     function add()

     {

         num++;

         var r = document.createElement("tr");

         var d1 = document.createElement("td");

         var d2 = document.createElement("td");

         var d3 = document.createElement("td");

         d1.innerHTML ="xh00"+num;

         d2.innerHTML ="<input type=text />";

         d3.innerHTML ="<a href='javascript:;' onclick='remove(this)' >删除</a>";

         var tab =document.getElementsByTagName("table");

         r.appendChild(d1);

         r.appendChild(d2);

         r.appendChild(d3);

         tab[0].appendChild(r);

         

         window.onload();

     }

   

     

     // 创建删除函数

     function remove(obj)

     { 

            var x = obj.parentNode.parentNode;

            x.parentNode.removeChild(x);

     }



  </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="remove(this)" >删除</a></td>   <!--在删除按钮上添加点击事件  -->

   </tr>


   <tr>

<td>xh002</td>

<td>刘小芳</td>

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

   </tr>  


   </table>

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

 </body>

</html>


写回答 关注

2回答

  • sdarks
    2019-10-06 09:57:15

    因为getElementsByTagName得到的是数组啊!

  • 阳火锅
    2019-10-05 11:58:15

    假如你页面有3个table  加了【0】就表示第一个...  1 就是第二个  以此类推...   你什么都不加  它肯定就找不到你这个table

JavaScript进阶篇

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

468195 学习 · 21891 问题

查看课程

相似问题