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

为什么新添加的行和原先的粗细位置不一样?

<!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 trs = document.getElementsByTagName("tr");

      //document.write(trs.length);

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

             trs[i].setAttribute("onmouseover","this.style.backgroundColor='#f2f2f2'");

             trs[i].setAttribute("onmouseout","this.style.backgroundColor='#fff'");

         }

}

     

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

    function addElement(){

        var parent = document.getElementById("table");

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

        var newth1 = document.createElement("th");

        var newth2 = document.createElement("th");

        var newth3 = document.createElement("th");

        var newa = document.createElement("a");

        newth1.innerHTML=prompt('请输入学号:','xh0');

        newth2.innerHTML=prompt('请输入姓名:');

        newa.innerHTML="删除";

        newa.setAttribute("href","javascript:;");

        newa.setAttribute("onclick","deleterow(this)");

        newth3.appendChild(newa);

        newnode.appendChild(newth1);

        newnode.appendChild(newth2);

        newnode.appendChild(newth3);

        parent.appendChild(newnode);

        window.onload();

    }

   

     

     // 创建删除函数

     function deleterow(oldnode){

         var son = oldnode.parentNode.parentNode;

         son.parentNode.removeChild(son);

     }



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

   </tr>


   <tr>

<td>xh002</td>

<td>刘小芳</td>

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

   </tr>  


   </table>

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

 </body>

</html>


提问者:精慕门5098903 2020-12-23 10:52

个回答

  • 精慕门5098903
    2020-12-23 11:29:22

    已经找到问题了,添加元素的时候应该是td,结果我写成了th,自问自答了,哈哈哈