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

为什么代码运行之后没有一点效果?

<!DOCTYPE html>
<html>
 <head>
  <title> text </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++){
          bgChange(tr[i]);
        }
   }

    function bgChange(obj){
      obj.onmouseover=function(){
        obj.style.backgroundColor="#f2f2f2";
      }
      obj.onmouseout=function(){
        obj.style.backgroundColor="#fff";
      }
    }
     
      // 编写一个函数,供添加按钮调用,动态在表格的最后一行添加子节点;
     function add(){
      var tr=document.createElement("tr");
      var th1=document.createElement("th");
      var th2=document.createElement("th");
      th1.innerHTML="2015";
      th2.innerHTML="小杨";
      var th3=document.createElement("th");
      th3.innerHTML="无";
      var tab=document.getElementById("table");
      tab.appendChild(tr);
      tr.appendChild(th1);
      tr.appendChild(th2);
      tr.appendChild(th3);
      var tr = document.getElementsByTagName("tr");
          for(var i= 0;i<tr.length;i++)
          {
              bgChange(tr[i]);
          }
     }
        
     
     // 创建删除函数
     function delete(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="delete(this)">删除</a></td>   
          <!--在删除按钮上添加点击事件  -->
       </tr>

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

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

提问者:qq_Sunshine_1993458145 2019-04-13 16:40

个回答

  • qq_慕粉7082047
    2019-05-15 19:36:52

        var tr=document.createElement("tr");
          var th1=document.createElement("th");
          var th2=document.createElement("th");

    获取的应该是td 不是th; 不能用delete作为函数名;  操作应该价格删除;

  • weixin_慕虎5578550
    2019-04-26 22:00:27

       obj.style.backgroundColor="#f2f2f2";

       obj.style.backgroundColor="#fff";

    这两行的obj应该改为this关键字。

    function delete(obj){

    delete是关键字,不能用来当函数名,随便换一个都行。

    你试试,就能运行起来了。