Как в JQuery localStorage ссылаться на определенный класс?

Рейтинг: 0Ответов: 1Опубликовано: 11.03.2023

Хочу менять класс при переходе страницы, только у определенного элемента, но при загрузке меняются все классы

<div class="shop_nav_box">
    <a href="{{ url_for('profile.profile_page') }}" class="nonactive">Профиль</a>
    <a href="{{ url_for('profile.notifications') }}" class="nonactive">Оповещения</a>
    <a href="{{ url_for('profile.preferences') }}" class="nonactive">Настройки</a>
</div>
$(document).ready(function(){
    if(localStorage.active_apge) {
        $('.nonactive').removeClass('nonactive').addClass( localStorage.active_apge );
    }
    $(".nonactive").click(function(){
        $(this).removeClass('nonactive').addClass('active');
        localStorage.active_apge = 'active';
    });

});

Ответы

▲ 0

Вы можете ссылаться на определенный класс, добавив его к селектору, чтобы выбрать только элементы с этим классом. В вашем случае вы можете изменить селектор на $('.nonactive.active-page'), чтобы выбрать только элементы с классами "nonactive" и "active-page".

<div class="shop_nav_box">
    <a href="{{ url_for('profile.profile_page') }}" class="nonactive active-page">Профиль</a>
    <a href="{{ url_for('profile.notifications') }}" class="nonactive">Оповещения</a>
    <a href="{{ url_for('profile.preferences') }}" class="nonactive">Настройки</a>
</div>
$(document).ready(function(){
    if(localStorage.active_apge) {
        $('.nonactive.active-page').removeClass('nonactive').addClass( localStorage.active_apge );
    }
    $(".nonactive").click(function(){
        $(this).removeClass('nonactive').addClass('active-page');
        localStorage.active_apge = 'active-page';
    });

});