You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用JavaScript实现表格单元格背景颜色依次切换功能?

原生JavaScript实现表格单元格依次高亮切换

示例HTML结构

假设你的基础HTML如下(已有类似结构可直接复用):

<table>
  <tr>
    <td>Emil</td>
    <td>Tobias</td>
    <td>Linus</td>
  </tr>
</table>
<button id="toggleBtn">切换高亮</button>

原生JavaScript实现代码

// 获取核心元素
const toggleBtn = document.getElementById('toggleBtn');
const tableCells = document.querySelectorAll('td');
let activeIndex = -1; // 初始无高亮单元格

toggleBtn.addEventListener('click', () => {
  // 恢复上一个高亮单元格的背景色
  if (activeIndex !== -1) {
    tableCells[activeIndex].style.backgroundColor = '#ffffff';
  }

  // 更新当前高亮索引
  activeIndex++;
  // 到达最后一个单元格后停止(若需循环,可替换为 activeIndex = (activeIndex + 1) % tableCells.length)
  if (activeIndex >= tableCells.length) {
    activeIndex = -1;
    return;
  }

  // 设置当前单元格为红色背景
  tableCells[activeIndex].style.backgroundColor = '#ff0000';
});

代码说明

  • 使用document.querySelectorAll('td')获取所有表格单元格,返回的NodeList支持下标访问
  • 用activeIndex变量追踪当前高亮的单元格位置,初始值-1表示无激活状态
  • 每次点击按钮时,先重置上一个激活单元格的背景色,再更新索引并设置新单元格的红色背景
  • 若需要循环高亮(最后一个单元格之后回到第一个),将索引更新逻辑替换为activeIndex = (activeIndex + 1) % tableCells.length即可

内容的提问来源于stack exchange,提问作者Study

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 12:15:45