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

9-22 为什么没有任何效果

<!DOCTYPE html>
<html>
 <head>
  <title> new document </title> 
  <meta http-equiv="Content-Type" content="text/html; charset=gbk"/>  
  <script type="text/javascript">
  //var tab = document.getElementById("table");
      window.onload = function(){
         corch();
      }
      function corch(){
          var tab = document.getElementById("table");           
     // 鼠标移动改变背景,可以通过给每行绑定鼠标移上事件和鼠标移除事件来改变所在行背景色。
      var trr=tab.getElementsByTagName("tr");
      for(i=0;i<trr.length;i++)
      {
          trr[i].onmouseover=function(){this.style.backgroundColor="#f2f2f2";}
          trr[i].onmouseout=function(){this.style.backgroundColor="#fff";}
      }}
     
    
      // 编写一个函数,供添加按钮调用,动态在表格的最后一行添加子节点;
     function add()
     {
         var tab = document.getElementById("table");
         var tr=document.createElement("tr");
        
        
         var td1=document.createElement("td");
         td1.innerHTML="<input type='text'>";
         tr.appendChild(td1);
        
         var td2=document.createElement("td");
         td2.innerHTML="<input type='text'>";
         tr.appendChild(td2);
        
         var td3=document.createElement("td");
         td3.innerHTML="<a href="javascript:dele(this);" >删除</a>";
         tr.appendChild(td3);
        
         tab.appendChild(tr);
         corch();
        
     }
      
    
     // 创建删除函数
     function dele(ele)
     {
         var tab = document.getElementById("table");
         var del=ele.parentNode.parentNode;
         tab.removeChild(del);
     }
    


  </script>
 </head>
 <body>
    <table border="0" width="50%" id="table">
    <tr>
  <th>学号</th>
  <th>姓名</th>
  <th>操作</th>
    </tr> 

    <tr>
  <td>xh001</td>
  <td>王小明</td>
  <td><a href="javascript:dele(this);" >删除</a></td>   <!--在删除按钮上添加点击事件  -->
    </tr>

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

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

没有反映?而且答案里的ttable为什么要取最后一个子节点?

提问者:慕慕0159803 2018-05-22 16:56

个回答

  • Silvermoon丶
    2018-05-24 01:22:42

    有问题的地方有点多,修改过的代码都加粗了,自己看看吧。。试过运行是没问题的了。。


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

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

             corch(tr[i]);}

          }

          function corch(obj){

                

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


             obj.onmouseover=function(){obj.style.backgroundColor="#f2f2f2";}

              obj.onmouseout=function(){obj.style.backgroundColor="#fff";}

          }

          

         

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

         function add()

         {

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

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

             table.appendChild(tr);

             

             

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

             td1.innerHTML="<input type='text'>";

             tr.appendChild(td1);

             

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

             td2.innerHTML="<input type='text'>";

             tr.appendChild(td2);

             

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

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

             tr.appendChild(td3);

             

             tab.appendChild(tr);

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

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

             corch(tr[i]);}

             

         }

          

         

         // 创建删除函数

         function dele(obj)

         {

             

             var del=obj.parentNode.parentNode;

             del.parentNode.removeChild(del);

         }

        


      </script> 

     </head> 

     <body> 

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

        <tr>

      <th>学号</th>

      <th>姓名</th>

      <th>操作</th>

        </tr> 

        <tr>

      <td>xh001</td>

      <td>王小明</td>

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

        </tr>

        <tr>

      <td>xh002</td>

      <td>刘小芳</td>

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

        </tr> 

        </table>

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

     </body>

    </html>