当前位置:首页 > JavaScript

js实现隔行

2026-03-02 08:21:34JavaScript

隔行变色实现方法

使用JavaScript实现表格或列表的隔行变色效果,可以通过以下方式完成:

动态添加类名

const rows = document.querySelectorAll('tr');
rows.forEach((row, index) => {
  if (index % 2 === 0) {
    row.classList.add('even-row');
  } else {
    row.classList.add('odd-row');
  }
});

配合CSS样式:

.even-row { background-color: #f2f2f2; }
.odd-row { background-color: #ffffff; }

直接修改样式

const items = document.querySelectorAll('li');
items.forEach((item, i) => {
  item.style.backgroundColor = i % 2 ? '#eee' : '#fff';
});

动态数据场景处理

对于动态加载的数据,需要使用MutationObserver监听DOM变化:

const observer = new MutationObserver(() => {
  const newRows = document.querySelectorAll('tr:not(.styled)');
  newRows.forEach((row, i) => {
    row.classList.add(i % 2 ? 'odd' : 'even', 'styled');
  });
});
observer.observe(document.body, { childList: true, subtree: true });

使用CSS选择器替代方案

现代浏览器支持纯CSS实现隔行效果:

tr:nth-child(even) { background: #f5f5f5; }
tr:nth-child(odd) { background: #fff; }

性能优化建议

处理大型列表时建议使用文档片段:

const fragment = document.createDocumentFragment();
data.forEach((item, i) => {
  const row = document.createElement('tr');
  row.className = i % 2 ? 'odd' : 'even';
  // 添加单元格内容
  fragment.appendChild(row);
});
table.appendChild(fragment);

js实现隔行

标签: js
分享给朋友:

相关文章

js实现轮播

js实现轮播

实现基础轮播效果 使用HTML结构创建轮播容器和图片元素: <div class="carousel"> <div class="carousel-inner">…

js实现日历

js实现日历

实现日历的基本思路 使用JavaScript实现日历的核心是动态生成日期表格,并处理月份切换逻辑。需要计算当前月的天数、起始星期几,并动态渲染到页面上。 获取当前日期信息 通过Date对象获取当前年…

js实现复制到剪贴板

js实现复制到剪贴板

使用document.execCommand方法(传统方式,已废弃但部分浏览器仍支持) 该方法适用于旧版浏览器,但已被标记为废弃。执行前需确保文本已被选中: function copyToClip…

js实现列表

js实现列表

使用 JavaScript 实现列表 JavaScript 提供了多种方式来实现列表功能,包括数组操作、DOM 元素动态生成等。以下是几种常见的实现方法: 使用数组存储列表数据 数组是 JavaS…

js实现pdf在线预览

js实现pdf在线预览

使用PDF.js实现PDF在线预览 PDF.js是由Mozilla开发的一个开源JavaScript库,可以在网页中直接渲染PDF文件。以下是实现PDF在线预览的步骤: 引入PDF.js库 在HT…

js实现tab选项卡切换

js实现tab选项卡切换

实现Tab选项卡切换的JavaScript方法 使用纯JavaScript实现Tab切换功能,可以通过监听点击事件动态切换内容显示状态。以下是两种常见实现方式: 基础DOM操作实现 // 获取…