Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.02.2022, 12:06
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 765

Условие смены класса
Привет. Подскажите логику. Что то никак). Есть три ссылки
<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] нету в урле и должна быть активной последняя ссылка
Ответить с цитированием
  #2 (permalink)  
Старый 09.02.2022, 12:13
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от ureech
Но не хочет так работать, если path[4] =='undefined'.
Почему сравниваешь со строкой?
https://tproger.ru/translations/how-...in-javascript/
Ответить с цитированием
  #3 (permalink)  
Старый 09.02.2022, 13:04
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 765

Понял. Поправил). Спасибо.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Добавление custom класса как item класса tab. Unrecognized alias: widget. Postgeograph ExtJS 6 13.12.2018 11:56
Использование классов в JavaScript devote Ваши сайты и скрипты 70 01.02.2013 17:17
jquery не замечает смены класса у элемента artygrand jQuery 4 16.12.2012 08:48
Как можно отловить событие смены класса? Emil jQuery 1 26.01.2012 20:55
Свойства/методы класса TicTac Общие вопросы Javascript 5 03.07.2011 14:53