当前位置:首页 > 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样式:

js实现隔行

.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变化:

js实现隔行

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

js实现vue

Vue.js 的基本实现方法 在 JavaScript 中实现 Vue.js 的功能,可以通过直接引入 Vue 库或使用现代构建工具(如 Vite 或 Webpack)。以下是几种常见的实现方式:…

js实现动画

js实现动画

使用 CSS 动画与 JavaScript 控制 通过 JavaScript 动态添加或移除 CSS 类来触发动画。CSS 定义关键帧(@keyframes),JavaScript 通过 classL…

js实现瀑布流

js实现瀑布流

实现瀑布流布局 瀑布流布局是一种常见的网页布局方式,常用于图片展示、商品列表等场景。以下是使用 JavaScript 实现瀑布流布局的几种方法。 纯 JavaScript 实现 通过计算元素的位置和…

js jquery

js jquery

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画设计和 Ajax 交互。它兼容多种浏览器,提供易于使用的 API,使开发者能够…

js实现驼峰

js实现驼峰

实现驼峰命名的几种方法 使用正则表达式和字符串替换 通过正则表达式匹配字符串中的特定模式(如下划线或短横线),并将其后的字母转换为大写,同时移除分隔符。 function toCamelCase(s…

js实现滚动

js实现滚动

实现滚动效果的方法 在JavaScript中实现滚动效果可以通过多种方式完成,以下是一些常见的方法: 使用window.scrollTo() window.scrollTo()方法可以将页面滚动到指…