<li><a class="<?php if($_GET['q']=='addons.html');echo 'current';?>" href="addons.html">test</a></li>
<li><a class="<?php if($_GET['q']=='technicalsupport.html');echo 'current';?>" href="technicalsupport.html">example</a></li>
<li><a class="<?php if($_GET['q']=='center.html');echo 'current';?>" href="center.html">center</a></li>
<li><a class="<?php if($_GET['q']=='about.html');echo 'current';?>" href="about.html">about</a></li>
为什么那些都是当前页面添加“当前”?我想仅将class="current"
添加到当前页面
答案 0 :(得分:7)
在;
声明的结束)
后删除if
。即。
<?php if($_GET['q']=='about.html');echo 'current';?>
...变为:
<?php if($_GET['q']=='about.html') echo 'current';?>
答案 1 :(得分:1)
我同意bradley.ayers,但是我也会将整个类标记包含在If条件中,就像这样。
<a <?php if($_GET['q']=='addons.html') echo 'class="current" ';?>href="addons.html">
这样条件不为true的所有锚点最终都不会包含空的class=""
标记
答案 2 :(得分:1)
首先,检查$ _GET ['q']是否存在,这样你就不会收到“未定义的索引”通知。
<li>
<a href="addons.html" <?php echo (isset($_GET['q']) && $_GET['q'] == 'addons.html' ? 'class="current"' : ''); ?>>test</a>
</li>
答案 3 :(得分:1)
我会这样做有点干净:
<?php echo ($_GET['q']=='about.html') ? 'current': ''; ?>
甚至将其优化为函数:
<?php
function set_current($page){
return ($_GET['q'] == $page) ? 'current': '';
}
?>
然后你的线条变得更干净了:
<?php echo set_current('about.html'); ?>