我正在尝试将一个class =“active”语句添加到动态li元素中,如果它满足pageID等于名为thisPage的变量的要求,但我的语法搞砸了。我的问题是如何将if语句添加到字符串的中间?我想我有下面的精神...... 感谢
<? ...........
$menu .= "\t<li" . ' if $thisPage=={$pageID} echo class="active"' . "><a href=\"{$pval['link']}\">{$pval['menuTitle']}</a></li>\n";
...........
?>
答案 0 :(得分:1)
您可以使用三元
$menu .= '<li'.($thisPage==$pageID?' class="active"':'').'></li>';
答案 1 :(得分:1)
试试这个
$menu .= "\t<li".($thisPage==$pageID ? ' class="active"' : '').'><a href="'.$pval['link'].'">'.$pval['menuTitle'].'</a></li>'."\n";
虽然我建议使用sprintf让事情变得更清晰
$menu .= sprintf('\t<li%s><a href="%s">%s</a></li>',
($thisPage==$pageID ? ' class="active"' : ''),
$pval['link'],
$pval['menuTitle']);
答案 2 :(得分:0)
最简单的方法是使用这样的ternary operator:
$menu .= "\t<li" . $thisPage=={$pageID} ? 'class="active"' : '' . "><a href=\"{$pval['link']}\">{$pval['menuTitle']}</a></li>\n";