jquery - 选择奇数和偶数元素

标签 jquery html css

我想要样式oddeven tr元素与我的表格不同。

这是我的代码:

jsFiddle

/*
Create a one-liner code to add the class ‘odd’ to an odd number row and the class ‘even’ to an even number row
Hint: Use the nth-child selector and the end() function
*/
table,
tr,
td {
  border-collapse: collapse;
  border: 1px solid #000;
}
table {
  width: 100%;
}
tr.odd {
  background: rgba(0, 255, 0, 0.1);
}
tr.even {
  background: rgba(0, 0, 0, 0.1);
}
<table>
  <tr>
    <td>odd</td>
    <td>odd</td>
  </tr>
  <tr>
    <td>even</td>
    <td>even</td>
  </tr>
  <tr>
    <td>odd</td>
    <td>odd</td>
  </tr>
  <tr>
    <td>even</td>
    <td>even</td>
  </tr>
  <tr>
    <td>odd</td>
    <td>odd</td>
  </tr>
</table>

提示:使用第 n 个子级选择器和 end() 函数

最佳答案

如果你有jQuery,你可以使用:odd:even选择器

$('tr:odd').addClass('odd');
$('tr:even').addClass('even');

Demo

$('tr:odd').addClass('odd');
$('tr:even').addClass('even');
table,
tr,
td {
  border-collapse: collapse;
  border: 1px solid #000;
}
table {
  width: 100%;
}
tr.odd {
  background: rgba(0, 255, 0, 0.1);
}
tr.even {
  background: rgba(0, 0, 0, 0.1);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
<table>
  <tr>
    <td>odd</td>
    <td>odd</td>
  </tr>
  <tr>
    <td>even</td>
    <td>even</td>
  </tr>
  <tr>
    <td>odd</td>
    <td>odd</td>
  </tr>
  <tr>
    <td>even</td>
    <td>even</td>
  </tr>
  <tr>
    <td>odd</td>
    <td>odd</td>
  </tr>
</table>

仅使用 CSS

您还可以使用 CSS nth-child 选择器选择奇数和偶数元素。

table,
tr,
td {
  border-collapse: collapse;
  border: 1px solid #000;
}
table {
  width: 100%;
}
tr:nth-child(2n) {
  background: rgba(0, 255, 0, 0.1);
}
tr:nth-child(2n + 1) {
  background: rgba(0, 0, 0, 0.1);
}
<table>
  <tr>
    <td>odd</td>
    <td>odd</td>
  </tr>
  <tr>
    <td>even</td>
    <td>even</td>
  </tr>
  <tr>
    <td>odd</td>
    <td>odd</td>
  </tr>
  <tr>
    <td>even</td>
    <td>even</td>
  </tr>
  <tr>
    <td>odd</td>
    <td>odd</td>
  </tr>
</table>

关于jquery - 选择奇数和偶数元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32323625/

相关文章:

jquery - .attr() 相关的东西在 jquery 升级 1.3.2 到 1.6.4 后停止工作,还有什么可以破坏的?

javascript - 让 div 保持屏幕宽度和高度

jquery - 使用 <use> 标签更改 SVG 填充颜色不起作用

javascript - canvas.getContext ("2d") 是否每次都返回相同的实例?

javascript - 重新选择 li 不起作用

html - css3 转换 : fluid layout animations on floating items

javascript - 在 HTML URL 链接中传递值

javascript - jQuery formValidation 在按 Enter 键时不提交表单

html - 自举网格偏移间隙

html - 每个表行内的多行(但仅限于某些列)