@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');
    }
});
  • Вопрос задан
  • 95 просмотров
Пригласить эксперта
Ответы на вопрос 1
В каждой ссылку встречается "/" как и в первой ссылке по этому она и подсвечивается
Переделайте немного алгоритм
document.querySelectorAll('#buttons div a').forEach(function(el) {

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

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

Похожие вопросы