javascript - jQuery/CSS : Assigning classes to a table depends on their order

标签 javascript jquery css

<分区>

我有这张表:

<tbody>
<tr>
    <th></th>
    <th></th>
    <th></th>
    <th></th>
</tr>

<tr>
    <th></th>
    <th></th>
    <th></th>
    <th></th>
</tr>

<tr>
    <th></th>
    <th></th>
    <th></th>
    <th></th>
</tr>

<tr>
    <th></th>
    <th></th>
    <th></th>
    <th></th>
</tr>

...
</tbody> 

它还在继续…… 我想让医生准备好根据他们的职位添加奇数类甚至偶数类。结束这样的事情:

<tbody>
    <tr class="odd">
        <th></th>
        <th></th>
        <th></th>
        <th></th>
    </tr>

    <tr class="even">
        <th></th>
        <th></th>
        <th></th>
        <th></th>
    </tr>

    <tr class="odd">
        <th></th>
        <th></th>
        <th></th>
        <th></th>
    </tr>

    <tr class="even">
        <th></th>
        <th></th>
        <th></th>
        <th></th>
    </tr>

    ...
    </tbody>

实现这个的方法是什么?我是否必须计算我有多少张 table 并根据他们的位置添加类(class)?这对我来说听起来不安全/不正确。

最佳答案

看看 nth-child 伪选择器 (MDN link) .

如果您只想分配一些样式,请使用:

tr:nth-child(2n+1) { // odd rows }
tr:nth-child(2n) { // even rows }

编辑:

正如 David Thomas 所建议的那样,这将提高可读性:

tr:nth-child(odd) { // odd rows }
tr:nth-child(even) { // even rows }

关于javascript - jQuery/CSS : Assigning classes to a table depends on their order,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9852383/

上一篇:html - CSS 复合输入选择器

下一篇:javascript - CSS/Javascript 中的直纹页效果

相关文章:

javascript - 添加显示星星的点击事件后,点击的地方没有注册

jquery - 自动识别 dotdotdot 插件中的高度

jquery - 我无法隐藏通过 DOM 操作创建的 div

CSS Firefox 框阴影和轮廓

javascript - 如果点击目标是 iframe,则检测 div 外部的点击不起作用

javascript - 我如何在更改路线时为页面制作动画?

javascript - 防止重新激活 javascript 对密码字段的盲目影响

javascript - 如何更改 Ajax 请求类型和数据

javascript - 在此示例中,jQuery 对 "this"做了什么?

css - Flex4 外部样式表 PropertyReference