使用php设置标签类的好方法是什么?这里没有涉及jQuery,只有php。我从脚本中获取了选项卡名称。根据{{1}},我需要将$tab
的名称设置为<li>
。关于如何做到这一点的任何好主意?
class="active"
我尝试使用$tab = 'movies';
<ul class="nav nav-tabs">
<li>Books</li>
<li>Music</li>
<li class="active">Movies</li>
<li>Others</li>
</ul>
执行此操作,但这一切都非常笨拙和丑陋。
答案 0 :(得分:1)
我不是直接混合HTML&amp; PHP,但是这样的事情怎么样:
$options = array("books", "music", "movies", "other");
$tab = 'music';
echo '<ul class="nav nav-tabs">';
foreach($options as $o) {
if($o == $tab) {
echo '<li class="active">'.ucfirst($o).'</li>';
} else {
echo '<li>'.ucfirst($o).'</li>';
}
}
echo '</ul>';
如果您在模板范围内,也可以使用PHP的替代语法:
<?php
$options = array("books", "music", "movies", "other");
$tab = 'music';
?>
<ul class="nav nav-tabs">
<?php foreach($options as $o): ?>
<?php if($o == $tab): ?>
<li class="active"><?php echo ucfirst($o); ?></li>
<?php else: ?>
<li><?php echo ucfirst($o); ?></li>
<?php endif; ?>
<?php endforeach; ?>
</ul>
答案 1 :(得分:0)
<?php $tabs = array('Books', 'Music', 'Movies', 'Others'); ?>
<ul>
<?php foreach ($tabs as $tabName): ?>
<?php $class = ''; ?>
<?php if ($tab === $tabName) $class = ' class="active"'; ?>
<li<?php echo $class?>><?php echo $tabName?></li>
<?php endforeach?>
</ul>
答案 2 :(得分:0)
$tab = 'movies';
<ul class="nav nav-tabs">
<li <?php if($tab === "Books") { echo class='active'; } ?>>Books</li>
<li>Music</li>
<li class="active">Movies</li>
<li>Others</li>
</ul>
等等
答案 3 :(得分:0)
您是如何生成导航的?基于数据库?在这种情况下,从数据库中检索lael时,您可以比较它们。否则,从带有标签的数组生成它们,遍历标签以生成菜单:
foreach($labels as $label)
{
if($label == $tab)
{// output active}
else
{regular labels}