我想在查询的每个第三个输出上更改类:
<?php
$style_classes = array('box','box','box no_right_margin');
$style_index = 0;
?>
我在div上设置了这个:
<div <?php $k = $style_index%4; echo "class=$style_classes[$k]"; $style_index++; ?>>
在第三个div上我希望这个类看起来像这样:
<div class="box no_right_margin">
现在看起来像:
<div class="box" no_right_margin>
答案 0 :(得分:0)
您需要将类名括在引号中。您的脚本实际上正在输出class=box no_right_margin
。 (我认为您作为当前输出提供的示例不是脚本发送的内容,而是来自Firebug的DOM视图,它显示浏览器只显示列表中的第一个类)
所以你可以这样做:
<div class="<?php $k = $style_index%4; echo $style_classes[$k]; $style_index++; ?>">
甚至
<div class="<?php echo $style_classes[$style_index++ % 4]; ?>">
答案 1 :(得分:0)
你应该使用%3而不是%4,所以你实际得到索引0,1和2 您需要在HTML输出中使用正确的引号:
<?php echo '<div class="' . $style_classes[$k++ % 3] . '">'; ?>
否则你的浏览器(Safari?)可能会用“在错误的地方更正它”,如你的例子中所示。顺便说一句,使用连字符作为CSS类名,而不是下划线(与ID不同)的风格更好。