需要为连续行中的细胞着色,使其与其他细胞的形成不同。有条件的原始格式化
Pseudopcode会是这样的:
foreach oddrow in table
foreach cell in row
if cellvalue != previosCellvalue(previous even)
color differently
例如:
<table>
<tr>
<td>1</td><td>2</td>
</tr>
<td>1</td><td>3</td>
<tr>
<td>2</td><td>4</td>
</tr>
<tr>
<td>2</td>4<td></td>
</tr>
</table>
在上面的表格行中,一个单元格二和第二行单元格两个将被设置为不同的样式,其他所有单元格将保留其样式。
答案 0 :(得分:2)
您使用jQuery标记了它,因此解决方案是: http://jsfiddle.net/kWeNY/
var last, inner;
$('table tr').each(function(i,tr) {
inner = $.trim($(tr).html());
if (inner == last) {
$(tr).css('background-color', 'red');
}
last = inner;
});
好。使用附加的伪算法,您还可以使用以下选项检查每个第二行:http://jsfiddle.net/gbw49/
var last, inner;
$('table tr').each(function(i,tr) {
inner = $.trim($(tr).html());
if (inner == last && i % 2) {
$(tr).css('background-color', 'red');
}
last = inner;
});
答案 1 :(得分:0)
尝试使用
$('table tr td:nth-child(2)')
这样添加css:
$(document).ready(function () {
$('table tr td:nth-child(2)').css("background", "red");
$('table tr td:nth-child(2)').css("color", "blue");
});
如果您只想对第1行和第2行执行此操作,请尝试
$(document).ready(function () {
$('table tr:eq(0) td:nth-child(2)').css("background", "green");
$('table tr:eq(1) td:nth-child(2)').css("background", "green");
});
答案 2 :(得分:0)
$('table tr:nth-child(even) td:eq(1)').each(function()
{
var firstVal = $(this).text();
var firstTd = $(this).closest("tr").prev().find("td:eq(1)");
var secondVal = firstTd.text();
if(firstVal != secondVal)
{
$(this).css({"background-color":"red"});
firstTd. css({"background-color":"red"});
}
}
);