而不是我目前能够生成的2行,我需要一种方法来替换表格行的3种颜色。
<style type="text/css">
tr.d0 td {
background-color: #FFFFFF; color: black;
}
tr.d1 td {
background-color: rgba(79, 129, 128, .2); color: black;
}
tr.d2 td {
background-color: rgba(119, 149, 60, .2); color: black;
}
</style>
for($i =0; $i ...){
$rowclass = 0;
<tr class="d<?php echo $rowclass; ?>">
</tr>
$rowclass = 1 - $rowclass;
}
答案 0 :(得分:3)
与PHP无关,但是,如果您使用的是CSS3,则它支持某些structural pseudo classes。您可以尝试使用:nth-of-type(3n), :nth-of-type(3n+1),:nth-of-type(3n+2)
来执行此操作。
答案 1 :(得分:2)
$rowclass = (1 + $rowclass) % 3;
甚至更好,废弃并只使用
$i % 3
代替。
答案 2 :(得分:0)
您正在寻找modulo
运营商。这是PHP中的%
(以及大多数C风格的语言),它将为您提供剩余的任何数字除以。在这种情况下,您可以使用它为每行构造className,如下所示:
for ($i=0; $i < $max, $i++) {
$className = 'd' . ($i % 3);
echo '<tr class="' . $className . '">';
// do something with the row
echo '</tr>';
}
答案 3 :(得分:0)
另一种可能不使用PHP本身但jQuery的解决方案可能就像:
$("table tr").each(function () {
var i = $("table tr").index($(this));
$(this).addClass("d" + (i % 3));
});
我创建了一个jsFiddle来说明这种情况。