如何在每个第3个表行中设置某个td的样式?

时间:2013-10-21 15:34:24

标签: jquery html css jqgrid css-tables

如何在每第3行选择每个4td?

我有一个jQgrid图表,id喜欢从第一行开始为每第3行定位客户端列。

以下是一个示例: http://jsfiddle.net/ZHRaD/13/

基本HTML:

<tr>
   <td></td>
   <td></td>
   <td></td>
   <td></td> // <<
   <td></td>
</tr>
<tr>
   <td></td>
   <td></td>
   <td></td>
   <td></td>
   <td></td>
</tr>
<tr>
   <td></td>
   <td></td>
   <td></td>
   <td></td>
   <td></td>
</tr>
<tr>
   <td></td>
   <td></td>
   <td></td>
   <td></td> // <<
   <td></td>
</tr>

....

4 个答案:

答案 0 :(得分:2)

使用:nth-child()

$('tr:nth-child(3n+1) td:nth-child(4)').css('color','blue');

更新

DEMO

$('tr:nth-child(3n-1) td:nth-child(4)').css('color','blue');

答案 1 :(得分:1)

您可以使用rows DOM的<table>属性访问<tr>元素,cells <tr>属性访问<td>元素。相应的代码可能看起来像

loadComplete: function () {
    var rows = this.rows, cRows = rows.length, iRow, row,
        iSelRows = 0;
    for (iRow = 0; iRow < cRows; iRow++) {
        row = rows[iRow]; // row.id is the rowid
        if ($(row).hasClass("jqgrow")) {
            // the row is a standard row
            if (iSelRows%4 === 0) {
                $(row.cells[3]).addClass("ui-state-highlight");
            }
            iSelRows++;
        }
    }
}

相应的修改过的jsfiddle演示是here

答案 2 :(得分:0)

这应该可以做一点点css

table tr:nth-child(1) td:nth-child(4), table tr:nth-child(4n+4) td:nth-child(4) {background:green;}

想想我读错了,也试试

table tr:nth-child(3n+3) td:nth-child(4) {background:green;}

答案 3 :(得分:0)

$(tr:eq(2))被罚款第3行 如果罚款第3行第2列然后 $(TR:当量(2)&GT; TD:当量(1))

因为索引从0开始