Я устанавливаю вкладки на своем сайте и нахожу, какие из них активны с помощью PHP. Вот мой код из файла заголовка. Вкладка задается на других страницах и отправляется в заголовок.
<ul class="nav pull-left">
<?php
if($_SESSION['val']==="1")
{
echo '<li' . ($tab == '1' ? 'class="active"' : '') . '><a href="1.php">1</a></li>';
echo '<li' . ($tab == '2' ? 'class="active"' : '') . '><a href="2.php">2</a></li>';
echo '<li' . ($tab == '3' ? 'class="active"' : '') . '><a href="3.php">3</a></li>';
echo '<li' . ($tab == '4' ? 'class="active"' : '') . '><a href="4.php">4</a></li>';
}
?>
</ul>
Я могу видеть, какая вкладка активна, а вкладки установлены по необходимости, но элементы списка отображаются в виде списка и без стиля навигации, поскольку установка активной вкладки вызывает столкновение. На страницах, где ни одна из этих вкладок не активна, я могу видеть вкладки в их обычном стиле навигации. Есть ли лучший способ для меня сделать это?
ОБНОВИТЬ
Коррекция: вкладки не отображаются как активные вообще. Но если я нажму на четвертую вкладку, появится нужный стиль.
Вы забыли добавить пробелы перед словом class
echo '<li' . ($tab == '1' ? ' class="active"' : '') . '><a href="1.php">1</a></li>';
echo '<li' . ($tab == '2' ? ' class="active"' : '') . '><a href="2.php">2</a></li>';
echo '<li' . ($tab == '3' ? ' class="active"' : '') . '><a href="3.php">3</a></li>';
echo '<li' . ($tab == '4' ? ' class="active"' : '') . '><a href="4.php">4</a></li>';
Если ваш текст является точным, вы можете просто пропустить пробел между
li
а также
class
в результате чего
<liclass
который больше не является html.