javascript - 尝试对表中的任意行进行 Zebra 条纹

标签 javascript jquery html-table css-selectors zebra-striping

我有一个表,其中包含由类标记的行。这些行应该是斑马条纹。需要注意的是它们并不总是连续的。

我尝试过按表和类名进行匹配,但最终结果总是不正确。发生的情况是, strip 化将应用于表级别,然后仅在具有该类的行上启用。

我需要改变什么才能让这项工作按我的预期进行?

脚本

function FormatTable()
{
   $("#TableId .arbitrarySelector:nth-child(2n+1)" ).addClass('anotherEquallySpecialRow')
}

HTML

<table id="TableId" onclick="FormatTable()">
    <tr class="arbitrarySelector">
        <td><div class="space">Should be Changed and is</div></td>
    </tr>
    <tr class="arbitrarySelector">
        <td><div class="space">Should Not be Changed and is Not</div></td>
    </tr>
    <tr class="arbitrarySelector">
        <td><div class="space">Should be Changed and is</div></td>
    </tr>
    <tr>
        <td><div class="space"></div></td>
    </tr>
    <tr class="arbitrarySelector">
        <td><div class="space">Should NOT be changed but is</div></td>
    </tr>
    <tr>
        <td><div class="space"></div></td>
    </tr>
    <tr class="arbitrarySelector">
        <td><div class="space">Should be Changed and is</div></td>
    </tr>
    <tr>
        <td><div class="space"></div></td>
    </tr>
    <tr>
        <td><div class="space"></div></td>
    </tr>
    <tr class="arbitrarySelector">
        <td><div class="space">Should Not be Changed and is Not</div></td>
    </tr>
    <tr class="arbitrarySelector">
        <td><div class="space">Should be Changed and is</div></td>
    </tr>
    <tr class="arbitrarySelector">
        <td><div class="space">Should Not be Changed and is Not</div></td>
    </tr>
</table>

最佳答案

你可能让这件事变得太困难了。如果你想做斑马条纹,为什么不直接使用类似 :odd selector 的东西呢?并根据情况更改类(class)。像这样的事情...

// Add zebra striping.
$('.arbitrarySelector:odd').addClass('zebra');

然后 CSS 会是这样的......

.zebra 
{
    background-color: #dddddd;
}

关于javascript - 尝试对表中的任意行进行 Zebra 条纹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4501359/

相关文章:

javascript - Angular.js/Javascript : checking if an object is found in any of the elements of an array

javascript - 多次使用 window.history.pushState,对于具有多个/的 URL

javascript - 鼠标 : disable right and middle button click

html - TD 宽度不改变 CSS HTML

javascript - window.open 宽度在 Chrome 中被忽略

javascript - 通过超链接传递到其他页面的数据被切断

php - 数据表警告 : Non-table node initialisation (TBODY). PHP

javascript - 使用复选框显示 div 并隐藏另一个 div

ASP.NET -HTML 表格行默认字体

php - Dream Weaver 表宽度