@DmSS1997

Почему при подсвечивании кнопки активной страницы с помощью javascript у меня подсвечивается ещё и первая кнопка вместе с активной?

<div class="d-flex justify-content-center" id="buttons">
        <div ><a href="/" class="nav-link">Link1</a></div>
        <div ><a href="{% url 'link2' %}" class="nav-link">Link2</a></div>
        <div ><a href="{% url 'link3' %}" class="nav-link" >Link3</a></div>
</div>


document.querySelectorAll('#buttons div a').forEach(function(el) {

    if ( window.location.pathname.indexOf(el.getAttribute('href')) > -1) {
        el.classList.add('active');
    }
});
  • Вопрос задан
  • 89 просмотров
Пригласить эксперта
Ответы на вопрос 1
В каждой ссылку встречается "/" как и в первой ссылке по этому она и подсвечивается
Переделайте немного алгоритм
document.querySelectorAll('#buttons div a').forEach(function(el) {

    if ( window.location.pathname == el.href) {
        el.classList.add('active');
    }
});
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
summer Ярославль
от 100 000 до 140 000 ₽
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
19 апр. 2024, в 03:52
1000 руб./за проект
19 апр. 2024, в 03:01
1000 руб./за проект
18 апр. 2024, в 21:56
2000 руб./за проект