js 操作添加、删除行 js隔行换色

需求:制作一个表格,显示班级的学生信息。

要求:

  1. 鼠标移到不同行上时背景色改为色值为 #f2f2f2,移开鼠标时则恢复为原背景色 #fff
  2. 点击添加按钮,能动态在最后添加一行
  3. 点击删除按钮,则删除当前行
    任务
    第一步: 首先,我们创建删除函数,并在删除按钮上添加点击事件;
    提示: 使用removeChild()。
    第二步: 编写一个函数,供添加按钮调用,动态在表格的最后一行添加子节点;
    提示: 使用createElement()、innerHTML、appendChild()。
    第三步: 更改鼠标移动改变背景则可以通过给每行绑定鼠标移上事件和鼠标移除事件来改变所在行背景色。
    提示:
  4. 获取表格的行,getElementsByTagName 。
  5. 使用for进行循环,为每行添加事件及背景颜色设置。
<!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 tab = document.getElementById("table"); 
        var trs =tab.getElementsByTagName("tr");
        for(var i=0;i<trs.length;i++){
            trs[i].onmouseover=function(){
                this.style.backgroundColor ="#f2f2f2";
            }
            trs[i].onmouseout= function(){
                this.style.backgroundColor = "#fff";
            }
        }
     
 }
     
      // 编写一个函数,供添加按钮调用,动态在表格的最后一行添加子节点;
     function addOne(){         
         var tbody = document.getElementById('table');  
         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='removeRow(this)'>删除</a>";
         tr.appendChild(td);         
         tbody.appendChild(tr);   
     }
            
     
     // 创建删除函数
    function removeRow(obj){
        var tbody = document.getElementById('table');  
        var tr = obj.parentNode.parentNode;
        tbody.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="removeRow(this)" >删除</a></td>   <!--在删除按钮上添加点击事件  -->
       </tr>

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

       </table>
       <input type="button" value="添加一行" onclick="addOne()" />   <!--在添加按钮上添加点击事件  -->
 </body>
</html>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Bootstrap是什么? 一套易用、优雅、灵活、可扩展的前端工具集--BootStrap。GitHub上介绍 的...
    凛0_0阅读 11,070评论 3 184
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 7,222评论 0 17
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 177,594评论 25 709
  • 传闻南山寺,烧香拜佛之地,特别灵验。每年,都会吸引全国各地的人们来这里许愿、还愿。 今日,正值年初十三,我和小伙伴...
    执笔到老阅读 367评论 2 3
  • 7月5日,天气雾霾,闷热,湿热 当你习惯了一切的时候,你就该麻木了,而意外总是这样不经意的就来了。 像往常一样,走...
    迷失的猫1Q84阅读 407评论 0 0

友情链接更多精彩内容