在 PHP/HTML 中交替行颜色的最简单方法?

2022-08-30 16:15:22

这是我的一个PHP示例。任何人都可以找到一种更短/更简单的方法来做到这一点吗?

<? foreach($posts as $post){?>
    <div class="<?=($c++%2==1)?‘odd’:NULL?>">
        <?=$post?>
    </div>
<? }?>

<style>
    .odd{background-color:red;}
</style>

其他语言的例子也很有趣。


答案 1

从根本上说 - 没有。这很容易。你可能会把它重写得更短/更干净一些,但想法是一样的。这就是我写它的方式:

$c = true; // Let's not forget to initialize our variables, shall we?
foreach($posts as $post)
    echo '<div'.(($c = !$c)?' class="odd"':'').">$post</div>";

答案 2

如果你想减少内联PHP,一个很好的方法是通过JavaScript。

使用jQuery,它很简单:

<script type="text/javascript">
$('div:odd').css('background-color', 'red');
</script>

推荐