继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

用javascript实现表格增加,删除行

励志敏
关注TA
已关注
手记 2
粉丝 9
获赞 54
<!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(){

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

     }

     function view(){
        var hang=document.getElementsByTagName("tr");
         for(var i=1;i<hang.length;i++){
            hang[i].onmouseover=function (){
                this.style.backgroundColor="#f2f2f2";
            }
            hang[i].onmouseout=function(){
                this.style.backgroundColor="#fff";
            }
         }
     }
      // 编写一个函数,供添加按钮调用,动态在表格的最后一行添加子节点;

      //注意双引号“”里面如果又要出现引号应该用单引号‘’代替,或者可以在”之前加一个反斜杠\
     function addRow(){
         var newRow=document.createElement("tr");
        var ibody=document.getElementById("table").lastChild;

        var td1=document.createElement("td");
        td1.innerHTML="<input type=\"text\" width:'20px' />";
        newRow.appendChild(td1);

        var td2=document.createElement("td");
        td2.innerHTML="<input type='text' />";
        newRow.appendChild(td2);

        var td3=document.createElement("td");
        td3.innerHTML="<a href='javascript:;' onclick='clearRow(this)'>删除</a>";
        newRow.appendChild(td3);
        ibody.appendChild(newRow);
        view();
     }

     // 创建删除函数
     function clearRow(obj){
     var ibody=document.getElementById("table").lastChild;
         var c=obj.parentNode.parentNode;
         c.parentNode.removeChild(c);
     }

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

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

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

注意:
1、双引号“”里面如果又要出现引号应该用单引号‘’代替,或者可以在”之前加一个反斜杠\;
2、表格的语法为

<table>
    <thead>
         <td>…</td>
        <td>…</td>
    </thead>
    <tbody>
        <tr>
            <td>…</td>
            <td>…</td>
            …
        </tr>
        …
    </tbody>
</table>

即使代码中没有出现<thead></thead><tbody></tbody>,系统都会自动加上;document.getElementById("table").lastChild;就是指<tbody>这个节点。
3、注意“this”关键字的使用方法:

function view(){
        var hang=document.getElementsByTagName("tr");
         for(var i=1;i<hang.length;i++){
            hang[i].onmouseover=function (){
                this.style.backgroundColor="#f2f2f2";
            }
            hang[i].onmouseout=function(){
                this.style.backgroundColor="#fff";
            }
         }
     }

这里“this”是指代hang[i];

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

这里“this”是指代<a>这个链接的节点。

打开App,阅读手记
11人推荐
发表评论
随时随地看视频慕课网APP