JS实现表格跨行变色

简介: JS实现表格跨行变色

表格的跨行换色主要用到了JS的函数以及for循环,今天以表格的增加,删除,隔行换色来给大家演示一下。

 
  <body>
    <div>
      <table border="1px" id="tabled">
        <thead>
          <tr>
            <td>序号</td>
            <td>内容</td>
            <td>操作</td>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>1</td>
            <td>DATA</td>
            <td><button id="button_One">删除</button></td>
          </tr>
        </tbody>
      </table>
    </div>
 
    <button id="button_Two">添加</button>
  </body>
 
    <script>
 
    let thead_thead = document.getElementsByTagName('thead')[0];   //获取thead
    let tbody = document.getElementsByTagName('tbody')[0];   //获取tbody
    let but = document.getElementById('button_Two');    //获取‘添加’按钮
    let content = 100;     //设定初始内容框为100
          //绑定一个函数
    but.onclick = function() {       
      let thead_tr = thead_thead.getElementsByTagName('tr')[0];   //获取tr
      let thsss = thead_tr.children;         //获取tr中得子元素
      let new_tr = document.createElement('tr');   //新建一个tr
            //利用for循环添加每个单元格得内容
      for (let i = 0; i < thsss.length; i++) {
        let new_td = document.createElement('td');   //新建一个td
        let tbody_tr = tbody.children;       //获取tbody得子元素
        if (i == 0) {
          new_td.innerHTML = tbody_tr.length + 1;
        }
        if (i == 1) {
          new_td.innerHTML = content;   //新的td会+100
          content += 100;             
        }
        if (i == thsss.length - 1) {
          new_td.innerHTML = '<button>删除</button>'
        }
        new_tr.appendChild(new_td);        //将新建的单元格输入到新的tr中
      }
      tbody.appendChild(new_tr);    //将新建的tr输入到tbody中完成添加
      color();
    }
 
    function color() {
      let tr_s = tbody.children;    //获取tbody的子元素
            //利用for循环更改序号的值 以及颜色
      for (let i = 0; i < tr_s.length; i++) {
        tr_s[i].children[0].innerHTML = i + 1;
        if (i % 2 == 0) {          //区分单数行和双数行
          tr_s[i].style.backgroundColor = "";
        } else{
          tr_s[i].style.backgroundColor = "blue";
        }
      }
    }
 
    tbody.addEventListener('click', function(sr) {
      sr = sr || window.event; 
      let targetElement = sr.target || sr.srcElement;
      if (targetElement.innerHTML == "删除") {
        let capture = targetElement.parentElement.parentElement;   //获取得到的元素,寻找其父级的父级,在这时指的是tr
        tbody.removeChild(capture);   //进行删除
        color();
      }
    }
    )
</script>

下面是效果:

谢谢大家观看,欢迎评论区讨论。

相关文章
|
2月前
|
数据采集 前端开发 JavaScript
金融数据分析:解析JavaScript渲染的隐藏表格
本文详解了如何使用Python与Selenium结合代理IP技术,从金融网站(如东方财富网)抓取由JavaScript渲染的隐藏表格数据。内容涵盖环境搭建、代理配置、模拟用户行为、数据解析与分析等关键步骤。通过设置Cookie和User-Agent,突破反爬机制;借助Selenium等待页面渲染,精准定位动态数据。同时,提供了常见错误解决方案及延伸练习,帮助读者掌握金融数据采集的核心技能,为投资决策提供支持。注意规避动态加载、代理验证及元素定位等潜在陷阱,确保数据抓取高效稳定。
81 17
|
9月前
|
JavaScript 前端开发
使用js生成表格标题、表格内容并且每行附带删除按钮然后插入到页面中
使用js生成表格标题、表格内容并且每行附带删除按钮然后插入到页面中
87 2
|
11月前
|
JavaScript
Vue.js中使用作用域插槽实现自定义表格组件
Vue.js中使用作用域插槽实现自定义表格组件
149 1
|
11月前
|
前端开发 JavaScript 数据可视化
详尽分享表格的编辑插件editable.js
详尽分享表格的编辑插件editable.js
165 0
|
JavaScript 前端开发 BI
原生html—摆脱ps、excel 在线绘制财务表格加水印(html绘制表格js加水印)
原生html—摆脱ps、excel 在线绘制财务表格加水印(html绘制表格js加水印)
168 1
|
12月前
|
JavaScript 前端开发
JavaScript解决表格隔行换色的问题
JavaScript解决表格隔行换色的问题
53 0
|
12月前
|
JavaScript 前端开发
JavaScript实现将输入框中的信息保存到表格中
JavaScript实现将输入框中的信息保存到表格中
59 0
|
JavaScript
如何用JS实现表格隔行换色功能
如何用JS实现表格隔行换色功能
46 0
|
JSON 前端开发 JavaScript
从假数据到动态表格:一个简单的JavaScript和HTML示例
从假数据到动态表格:一个简单的JavaScript和HTML示例
|
10月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
186 2