Привет. Подскажите логику. Что то никак). Есть три ссылки
<li class="nav-item">
<a title="Новости" class="nav-link text-nowrap" href="/diaries/tags/тег1/news">Новости<span class="counter badge">2</span></a>
</li>
<li class="nav-item">
<a title="Статьи" class="nav-link text-nowrap" href="/diaries/tags/тег1/articles">Статьи<span class="counter badge">2</span></a>
</li>
<li class="nav-item">
<a title="Дневники" class="nav-link ACTIVE text-nowrap" href="/diaries/tags/тег1/diaries">Дневники<span class="counter badge">2</span></a>
</li>
Контент при клике выводится на одной странице. Меняется последняя часть урла. По умолчанию активна последняя ссылка. Нужно при клике на другую ссылку присвоить ей класс active соответственно убрав существующий. Делаю так
var path = window.location.pathname.split('/');
let href;
document.querySelectorAll('ul.menu-results_tabs .nav-link').forEach((el) => {
href = (el.href).split('/');
if(path[4] =='undefined')return false;
if (href[6] == path[4] ) {
$(el).addClass('active')
} else {
$(el).removeClass('active')
}
});
Но не хочет так работать, если path[4] =='undefined'. Тоесть при первом переходе на страницу path[4] нету в урле и должна быть активной последняя ссылка