表格换色的实现方法

简介: 表格换色的实现方法

今天给大家弄一个很有意思东西!

怎样实现表格换色?

话不多说直接上素材;

下面是我搞的示例,大家可以看一下;

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>标准</title>
    <style>
      table {
        width: 300px;
        border: 1px #525252 solid;
      }
 
      th,
      td {
        border: 1px #525252 solid;
        text-align: center;
      }
    </style>
  </head>
  <body>
    <table cellspacing="0">
      <thead>
        <tr>
          <th>序号</th>
          <th>内容</th>
          <th>操作</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>1</td>
          <td>data</td>
          <td>
            <button>删除</button>
          </td>
        </tr>
      </tbody>
    </table>
    <button id="but">添加行</button>
    <script src="表格隔行换色.JS"></script>
  </body>
</html>

以上是表格基本样式,我使用的是内嵌方式。

let but = document.getElementById("but");
let thead = document.getElementsByTagName("thead")[0];
let tbody = document.getElementsByTagName('tbody')[0];
let content = 100;
but.onclick = function() {
  let theadtr = thead.getElementsByTagName("tr")[0];
  let ths = theadtr.children;
  let newtr = document.createElement("tr");
  for (let i = 0; i < ths.length; i++) {
    let newtd = document.createElement("td");
    let tbodytr = tbody.children;
    if (i == 0) {
      newtd.innerHTML = tbodytr.length + 1;
    }
    if (i == 1) {
      newtd.innerHTML = content;
      content += 100;
    }
    if (i == ths.length - 1) {
      newtd.innerHTML = "<button>删除</button>";
    }
    newtr.appendChild(newtd);
  }
  tbody.appendChild(newtr);
  cutcolor();
}
 
function cutcolor() {
  let trs = tbody.children;
  for (let i = 0; i < trs.length; i++) {
    if (i % 2 == 1) {
      trs[i].style.backgroundColor = "green";
    } else {
      trs[i].style.backgroundColor = "#FFFFFF";
    }
  }     //取余数偶数上色,奇数不上色
}
 
tbody.addEventListener("click", function(e) {
  e = e || window.event;
  let target = e.target || e.srcElement;
  if (target.innerHTML == "删除") {
    let istr = target.parentElement.parentElement;
    tbody.removeChild(istr);
    issort();
    cutcolor();   //删除
  }
})
 
function issort() {
  let trs = tbody.children;
  for (let i = 0; i < trs.length; i++) {
    let trstd = trs[i].children[0];
    trstd.innerHTML = i + 1;
  }
} 

这是写在JS里的代码,是用来操控数据的。

好了今天给大家分享的挺有意思的,还请大家多多关照,点一个不要钱的赞!

相关文章
|
9月前
|
并行计算 安全 算法
量子计算在密码学中的应用与挑战:解密未来的安全
量子计算在密码学中的应用与挑战:解密未来的安全
486 6
|
9月前
|
机器学习/深度学习 编解码 计算机视觉
RT-DETR改进策略【卷积层】| ECCV-2024 小波卷积WTConv 增大感受野,降低参数量计算量,独家创新助力涨点
RT-DETR改进策略【卷积层】| ECCV-2024 小波卷积WTConv 增大感受野,降低参数量计算量,独家创新助力涨点
397 9
RT-DETR改进策略【卷积层】| ECCV-2024 小波卷积WTConv 增大感受野,降低参数量计算量,独家创新助力涨点
|
11月前
|
分布式计算 DataWorks 搜索推荐
用户画像分析(MaxCompute简化版)
通过本教程,您可以了解如何使用DataWorks和MaxCompute产品组合进行数仓开发与分析,并通过案例体验DataWorks数据集成、数据开发和运维中心模块的相关能力。
|
11月前
|
算法
基于EO平衡优化器算法的目标函数最优值求解matlab仿真
本程序基于进化优化(EO)中的平衡优化器算法,在MATLAB2022A上实现九个测试函数的最优值求解及优化收敛曲线仿真。平衡优化器通过模拟生态系统平衡机制,动态调整搜索参数,确保种群多样性与收敛性的平衡,高效搜索全局或近全局最优解。程序核心为平衡优化算法,结合粒子群优化思想,引入动态调整策略,促进快速探索与有效利用解空间。
|
9月前
|
运维 数据可视化 开发者
Dpanel:Star2k,短短时间就被大家称为GitHub开源神器!轻量化Docker面板,还在等什么
如今的软件开发和运维领域,Docker容器技术已经成为一种主流的解决方案,它允许开发者和系统管理员以更高效、更灵活的方式部署和管理应用程序。然而,Docker的命令行界面虽然强大,但对于某些用户来说可能不够直观。今天,我们要介绍的开源项目——dpanel,就是一个轻量化的Docker可视化管理面板,它以其简洁、高效的特点,为用户提供了一个易于操作的界面来管理Docker容器和镜像。
660 0
|
人工智能 监控 安全
安全和鲁棒性
安全和鲁棒性
341 0
|
XML Android开发 UED
"掌握安卓开发新境界:深度解析AndroidManifest.xml中的Intent-filter配置,让你的App轻松响应scheme_url,开启无限交互可能!"
【8月更文挑战第2天】在安卓开发中,scheme_url 通过在`AndroidManifest.xml`中配置`Intent-filter`,使应用能响应特定URL启动或执行操作。基本配置下,应用可通过定义特定URL模式的`Intent-filter`响应相应链接。
387 12
|
异构计算
Cesium中用到的图形技术——Horizon Culling
Cesium中用到的图形技术——Horizon Culling
334 0
|
存储 Java
计算机如何存储数据
计算机如何存储数据
597 1
LangChain-05 RAG Conversational 增强检索会话
LangChain-05 RAG Conversational 增强检索会话
148 2