参考大佬们的答案 自己改的 通俗易懂

来源:9-22 编程练习

qq_慕斯6581020

2019-11-23 18:49

<!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(){            

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

       function change(obj){

           console.log(obj)

        obj.style.backgroundColor = "red";

       }

        function changeback(obj){

        obj.style.backgroundColor = "#fff";

      }   

     

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

      var num = 2;

     function addfun(){

         num++;

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

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

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

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

       td1.innerHTML =  "xh00"+ num;

       td2.innerHTML = prompt("请输入姓名","张三");

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

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

       otest.appendChild(btr);

       btr.appendChild(td1);

       btr.appendChild(td2);

       btr.appendChild(td3);

       btr.setAttribute("onmouseover","change(this)");

       btr.setAttribute("onmouseout","changeback(this)");

 


     }

function del(obj){

      var d = obj.parentNode.parentNode;//获得tr节点

      d.parentNode.removeChild(d);//删除tr


     }


  </script> 

 </head> 

 <body> 

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

       <tr>

        <th>学号</th>

        <th>姓名</th>

        <th>操作</th>

       </tr>  

       <tr id="id1"  onmouseover="change(this)" onmouseout="changeback(this)">

        <td>xh001</td>

        <td>王小明</td>

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

       </tr>


       <tr id="id2"  onmouseover="change(this)" onmouseout="changeback(this)">

        <td>xh002</td>

        <td>刘小芳</td>

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

       </tr>  


       </table>

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

 </body>

</html>


写回答 关注

1回答

  • river9015
    2019-11-25 14:47:57

    你有句代码有问题:otest.appendChild(btr);  你估计忘了tr的父节点是tbody,而不是table,你这样执行后,新增的tr标签全跑到tbody外面来了

    应该这样写:otest.lastChild.appendChild(btr);  

JavaScript进阶篇

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

468060 学习 · 21891 问题

查看课程

相似问题