javascript - 带有 Javascript 的条纹表 DOM

标签 javascript dom

我正在尝试制作一个表格,将奇数行着色为黄色,将偶数行着色为蓝色。目前,我正在使用 filter 方法,但这不起作用。 JavaScript 返回 tableRows[i].filter 不是函数。我知道这在 CSS 中非常容易,但我仍然想在 JavaScript 中尝试。

有什么想法吗?

var tableRows = document.getElementsByTagName('tr');

for (i = 0; i < tableRows.length; i++) {
  tableRows[i].filter(isOdd).style.backgroundColor = "yellow";
  tableRows[i].filter(isEven).style.backgroundColor = "blue";
}

function isOdd(value) {
  if (value % 2 == 0) {
    return false;
  } else if (value % 1 == 0) {
    return true;
  } else {
    return false;
  }
}

function isEven(value) {
  if (value % 2 == 0) {
    return true;
  } else {
    return false;
  }
}
<table>
  <tr>
    <td>
      Cell 1
    </td>
    <td>
      Cell 2
    </td>
  </tr>
  <tr>
    <td>
      Cell 3
    </td>
    <td>
      Cell 4
    </td>
  </tr>
  <tr>
    <td>
      Cell 5
    </td>
    <td>
      Cell 6
    </td>
  </tr>
</table>

最佳答案

在 JavaScript 中执行奇数/偶数操作的一种简单方法是使用 modulus 运算符 (%)。

看这个例子:

var tableRows = document.getElementsByTagName('tr');

for (var i = 0; i < tableRows.length; i++) {
  tableRows[i].style.backgroundColor = (i % 2)?"blue":"yellow";
}
<table>
  <tr>
    <td>
      Cell 1
    </td>
    <td>
      Cell 2
    </td>
  </tr>
  <tr>
    <td>
      Cell 3
    </td>
    <td>
      Cell 4
    </td>
  </tr>
  <tr>
    <td>
      Cell 5
    </td>
    <td>
      Cell 6
    </td>
  </tr>
</table>

关于javascript - 带有 Javascript 的条纹表 DOM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43331493/

相关文章:

javascript - Vue.js 服务器端渲染 : document is not defined

javascript - 由于 AJAX 加载程序,Selenium 脚本失败

javascript - 错误:Uncaught TypeError: Cannot read property 'groupBy' of undefined

javascript - 使用增量改进客户端-服务器数据同步功能

javascript - fileupload Jquery 不能动态工作

javascript - 我如何让 DOM 知道动态创建的新元素?

javascript - 如何使用 WinJS 中的参数运行 .JAR 文件

Javascript - 获取和设置基元的属性隐式创建对象包装器

javascript - 非线性滚动

java - 获取子节点之前的父节点的字符串内容