Добавьте определенный класс к ul, который содержит ссылку на текущую страницу

0

У меня есть следующий код HTML:

 <li><a href="index.php"> Home</a></li>
 <li><a href="manageArticles.php"> Contact</a></li>
 <li><a href="addArticle.php"> More...</a></li>

Мне нужно добавить класс, active в li который содержит ссылку на страницу cirrent.

Для axample на странице index.php для второго тега li должен добавлен класс active.

У меня есть код сценария, который получает текущий URL:

 var currentPageName = document.location.href.match(/[^\/]+$/)[0];

Но я не знаю, что мне делать после этого (и если это возможно).

Пожелайте о помощи, спасибо!

  • 0
    В моем тесте регулярное выражение не работало, поэтому я использовал: window.location.pathname
  • 2
    $('li a[href="'+currentPageName+'"]').closest('li').addClass('active')
Показать ещё 1 комментарий
Теги:
url

1 ответ

1
Лучший ответ

Используйте функцию filter чтобы получить li которые содержат a с href -attr, который равен currentPageName;

var currentPageName = document.location.href.match(/[^\/]+$/)[0];
$( 'li' )
    .filter(function() { return $( 'a' , this ).attr( 'href' ) === currentPageName; } )
    .addClass( 'active' );

Ещё вопросы

Сообщество Overcoder
Наверх
Меню