Как с помощью js присвоить класс активной ссылке меню?

Суть вот в чем. Делаю сайт на WP, возникла необходимость сделать статичное меню, но при переходе по пунктам меню, активный пункт должен подсвечиваться.
На одном из проектов я так уже делал с помощью такого скрипта:
<script type="text/javascript">
$(function () { // Когда страница загрузится
$('.nav a').each(function () { // получаем все нужные нам ссылки
var location = window.location.href; // получаем адрес страницы
var link = this.href; // получаем адрес ссылки
if(location == link) { // при совпадении адреса ссылки и адреса окна
$(this).parent().addClass('active'); //добавляем класс
}
});
});
</script>

В таком случае тегу li активной ссылки присваивался класс active. Вот собственно само меню:
<ul class="nav navbar-nav">
 <li><a href="<?php bloginfo('url'); ?>/o-sayte">О сайте</a></li>
 <li><a href="<?php bloginfo('url'); ?>/reklama">Рекалама</a></li>
 <li><a href="<?php bloginfo('url'); ?>/vakansii">Вакансии</a></li>
 <li><a href="<?php bloginfo('url'); ?>/kontakty">Контакты</a></li>
 </ul>

Проверяю alert(location); - выводится полная ссылка, как и положено, проверяю alert(link); - ничего не выводится.
Что я делаю не так?
  • Вопрос задан
  • 3066 просмотров
Пригласить эксперта
Ответы на вопрос 2
hronik87
@hronik87
Обитаю в 1С-Bitrix
$('.navbar-nav li').click(function(){
$('.navbar-nav li').removeClass('active');
$(this).addClass('active');
});
Ответ написан
IonDen
@IonDen
JavaScript developer. IonDen.com
Вы всё делаете не так.
Активный пункт меню должен настраиваться на стороне сервера, когда вы своим PHP собираете итоговую страницу. Я уверен что в вордпрессе такая функциональность есть из коробки и нужно просто немного погуглить.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы