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

javascript进阶篇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 hang=document.getElementsByTagName("tr");

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

             hang[i].onmouseover=function()

             {     this.style.backgroundColor="#12f2f2"};

             hang[i].onmouseout=function()

             {     this.style.backgroundColor="#fff"}

         }

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

}

     var num=2;

     function add(){

         num++;

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

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

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

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

         newline1.innerHTML="xh00"+num;

         newline2.innerHTML="第"+num+"个学生";

         newline3.innerHTML="<a href='javascript:;' onclick='clearo(this):;return false:;'>删除</a>";

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

         tab.appendChild(newline);

         newline.appendChild(newline1);

         newline.appendChild(newline2);

         newline.appendChild(newline3); 


     }          

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

       

         function clearo(obj){

         var oG=obj.parentNode.parentNode.parentNode;

         var oP=obj.parentNode.parentNode;

         oG.removeChild(oP);     

     }

  

     

     // 创建删除函数

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

  </tr>


  <tr>

<td>xh002</td>

<td>刘小芳</td>

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

  </tr>  


  </table>

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

     

 </body>

</html>


提问者:墨清_静默与 2016-09-26 11:12

个回答

  • 小萌萌123
    2016-09-26 14:13:53

      用setAttribute来添加属性;

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

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

    ----------------------

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

    ------

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

    --------------

    :;return false:;    这个删掉  







  • 慕粉3798188
    2016-09-26 14:10:55

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

              loadd();

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

    }

    function loadd(){

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

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

                 hang[i].onmouseover=function()

                 {     this.style.backgroundColor="#12f2f2"};

                 hang[i].onmouseout=function()

                 {     this.style.backgroundColor="#fff"}

             }

    }

         var num=2;

         function add(){

             num++;

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

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

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

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

             newline1.innerHTML="xh00"+num;

             newline2.innerHTML="第"+num+"个学生";

             newline3.innerHTML="<a href=javascript:; onclick=clearo(this)>删除</a>";

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

             tab.appendChild(newline);

             newline.appendChild(newline1);

             newline.appendChild(newline2);

             newline.appendChild(newline3); 

             loadd();


         }          

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

           

             function clearo(obj){

             var oG=obj.parentNode.parentNode.parentNode;

             var oP=obj.parentNode.parentNode;

             oG.removeChild(oP);   

            

         }

      

         

         // 创建删除函数

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

      </tr>


      <tr>

    <td>xh002</td>

    <td>刘小芳</td>

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

      </tr>  


      </table>

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

         

     </body>

    </html>