javascript - 如何用 % 突出显示每隔一行?

标签 javascript html css

如何在 JavaScript 中使用 % 突出显示(即更改背景颜色)每隔一行?我正在考虑if (i % 2 == 0)。这有效吗?

// declaring variables
var rows = 12;
var cols = 3;

document.write('<table border=2>');

for (var k = 0; k < head.length; k++) {
    // input the heading of the table
    document.write('<th>' + head[k] + '</th>');
}

for (var i = 0; i < rows; i++) {
    document.write('<tr>' + 0 + '</tr>');

    if (i % 2 == 0) {
        // don't know what to put in here
    } else {

    }

    for (var j = 0; j < cols; j++) {
        document.write('<td>' + Table[i][j] + '</td>');
    }
}

document.write('</table>');

最佳答案

我建议使用 css 来使用 nth-of-type

https://developer.mozilla.org/en-US/docs/Web/CSS/%3Anth-of-type

tr:nth-of-type(even) {
  background-color: red;
}

但是如果你必须使用javascript

document.querySelectorAll('tr').forEach((el, index) => {
  el.style = index % 2 === 0 ?
    'background-color: red' :
    'background-color: yellow';
})
<table id="table">
  <tr><td>1</td><td>2</td><td>3</td><td>4</td></tr>
  <tr><td>1</td><td>2</td><td>3</td><td>4</td></tr>
  <tr><td>1</td><td>2</td><td>3</td><td>4</td></tr>
  <tr><td>1</td><td>2</td><td>3</td><td>4</td></tr>
  <tr><td>1</td><td>2</td><td>3</td><td>4</td></tr>
</table>

关于javascript - 如何用 % 突出显示每隔一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49899795/

相关文章:

html - 带边框的透明三 Angular 形

php - 使用 htaccess 强制重写 url 以提供 css 的绝对路径

Javascript 闭包 - 父函数

javascript 事件监听器函数参数

javascript - 使用用户脚本中的变量在 Google Chrome 页面中注入(inject) JS?

javascript - 从 Rails 的集合中返回选定的值并将其发送到 URL

javascript - 如何使用 Bootstrap 将 iframe 嵌入到整个窗口(不要与全屏混淆)?

javascript - 单击时的背景颜色 - jQuery

php - Ajax 弹出窗口

html - Flexbox 顺序和 Tab 键导航