当前位置:首页 > 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; }

性能优化建议

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

js实现隔行

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实现vue

js实现vue

Vue.js 简介 Vue.js 是一个渐进式 JavaScript 框架,用于构建用户界面。其核心库专注于视图层,易于与其他库或现有项目整合。 实现 Vue.js 的基本步骤 安装 Vue.j…

js实现验证码

js实现验证码

使用Canvas生成图形验证码 在HTML中创建一个Canvas元素用于绘制验证码。通过JavaScript随机生成数字或字母组合,并添加干扰线、噪点等干扰元素增强安全性。 <canvas i…

js 实现vue

js 实现vue

Vue.js 的基本实现 在 JavaScript 中实现 Vue.js 的核心功能,可以通过数据绑定、响应式系统和虚拟 DOM 来实现。以下是实现 Vue.js 核心功能的简化版本。 数据响应式系…

js节流实现

js节流实现

节流的概念 节流(Throttle)是一种限制函数执行频率的技术,确保函数在一定时间间隔内只执行一次。常用于滚动事件、窗口调整等高频触发的场景。 基础实现方法 使用时间戳判断是否执行函数: fun…

js 实现滚动

js 实现滚动

实现滚动的方法 使用 window.scrollTo() window.scrollTo() 方法可以滚动到文档中的特定位置。可以指定 x 和 y 坐标,或者使用平滑滚动的选项。 // 滚动到指定位…

js验证码的实现

js验证码的实现

验证码的基本实现原理 验证码(CAPTCHA)的核心目标是区分人类用户和自动化程序。JavaScript可用于生成或验证客户端验证码,但需注意纯前端验证可能被绕过,通常需结合后端验证。 纯前端验证码…