添加的一行为什么删除不了

来源:9-22 编程练习

C佳

2016-08-19 15:59

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

        highLight();          

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

        function addRow(obj){

            var tbody=document.getElementById('table').lastChild;

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

            var td=document.createElement('td');

            td.innerHTML="<input type='text'/>";

            tr.appendChild(td);

            td=document.createElement('td');

            td.innerHTML="<input type='text'/>";

            tr.appendChild(td);

            td=document.createElement('td');

            td.innerHTML="<a href='javascript:;' onClick='deletRow()'>删除</a>";

            tr.appendChild(td);

            tbody.appendChild(tr);

            highLight();

        } 

        function deletRow(obj){

            var tbody=document.getElementById('table').lastChild;

            var tr=obj.parentNode.parentNode;

            tbody.removeChild(tr);

        }

        function highLight(){

            var tbody=document.getElementById('table').lastChild;

            var trs=document.getElementsByTagName('tr');

            for(var i=1;i<trs.length;i++){

                trs[i].onmouseover=function(){

                    this.style.backgroundcolor="#f2f2f2";

                }

                trs[i].onmouseout=function(){

                    this.style.backgroundcolor="#fff";

                }

                }

            }

        

     

 

 

     

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

     

   

     

     // 创建删除函数

     



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

  </tr>


  <tr>

<td>xh002</td>

<td>刘小芳</td>

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

  </tr>  


  </table>

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

 </body>

</html>


写回答 关注

2回答

  • 慕桂英4089040
    2016-08-23 11:51:37

     td.innerHTML="<a href='javascript:;' onClick='deletRow()'>删除</a>";

    这行,新添加的一行,调用删除函数,没有写参数,掉了this

    C佳

    弱弱再问一句 this加哪 可不可以写下代码 谢谢

    2016-08-27 09:54:55

    共 1 条回复 >

  • C佳
    2016-08-19 16:01:38

    var tbody=document.getElementById('table').lastChild;

    还有这一句不理解  还请大神解释

    慕桂英408...

    table下面会自动生成一个隐藏thead和tbody节点,tr其实是tbody的子节点

    2016-08-23 11:49:40

    共 1 条回复 >

JavaScript进阶篇

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

468191 学习 · 21891 问题

查看课程

相似问题