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

来源:9-22 编程练习

精慕门5098903

2020-12-23 10:52

<!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>


写回答 关注

1回答

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

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

JavaScript进阶篇

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

468197 学习 · 21891 问题

查看课程

相似问题