Как изменить тег li при нажатии на него

Я хочу изменить функцию класса li как «активную» при нажатии на нее. Когда это происходит, открывается новая страница, и класс li становится активным. Например, страницу можно открыть с помощью тега «Обзор», как определено li. Когда я нажимаю любой из тегов, новая страница может быть открыта с активным тегом li. Я пытаюсь написать несколько кодов, но не могу изменить актив li.

Вот мои коды, показанные ниже.

Домашняя страница

<div class = "col-sm-3 col-md-2 sidebar">
    <ul class = "nav nav-sidebar">
        <li class = "active"><a href = "index.jsp">Overview</a></li>
        <li><a href = "list_users">Users</a></li>
        <li><a href = "#">Categories</a></li>
        <li><a href = "#">Books</a></li>
    </ul>
        <ul class = "nav nav-sidebar">
        <li><a href = "#">Customers</a></li>
        <li><a href = "#">Reviews</a></li>
        <li><a href = "#">Orders</a></li>
        </ul>
</div>

Страница пользователя.

<div class = "col-sm-3 col-md-2 sidebar">
    <ul class = "nav nav-sidebar">
        <li><a href = "index.jsp">Overview</a></li>
        <li><a href = "list_users">Users</a></li>
        <li><a href = "#">Categories</a></li>
        <li><a href = "#">Books</a></li>
    </ul>
    <ul class = "nav nav-sidebar">
        <li><a href = "">Customers</a></li>
        <li><a href = "">Reviews</a></li>
        <li><a href = "">Orders</a></li>
    </ul>
</div>

Javascript-код

<script>
    // Nav bar change active status
    $(".nav li").on("click", function() {
        $(".nav li").removeClass("active");
        $(this).addClass("active");
    });
</script>

Я говорю, чтобы изменить активный

  • когда я нажимаю любой элемент на основе
  • .

    Обычно это выглядит так

    <div class = "col-sm-3 col-md-2 sidebar">
        <ul class = "nav nav-sidebar">
            <li><a href = "index.jsp">Overview</a></li>
            <li class = "active"><a href = "list_users">Users</a></li>
            <li><a href = "#">Categories</a></li>
            <li><a href = "#">Books</a></li>
        </ul>
        <ul class = "nav nav-sidebar">
            <li><a href = "">Customers</a></li>
            <li><a href = "">Reviews</a></li>
            <li><a href = "">Orders</a></li>
        </ul>
    </div>
    

    Но это действительно так

    <div class = "col-sm-3 col-md-2 sidebar">
        <ul class = "nav nav-sidebar">
            <li><a href = "index.jsp">Overview</a></li>
            <li><a href = "list_users">Users</a></li>
            <li><a href = "#">Categories</a></li>
            <li><a href = "#">Books</a></li>
        </ul>
        <ul class = "nav nav-sidebar">
            <li><a href = "">Customers</a></li>
            <li><a href = "">Reviews</a></li>
            <li><a href = "">Orders</a></li>
        </ul>
    </div>
    
    .nav-sidebar > .active > a,
    .nav-sidebar > .active > a:hover,
    .nav-sidebar > .active > a:focus {
      color: #fff;
      background-color: #428bca;
    }
    

    Я имею в виду показать, что код javascipt не может работать. Как я могу это исправить?

  • Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
    Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
    В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
    Концепция локализации и ее применение в приложениях React ⚡️
    Концепция локализации и ее применение в приложениях React ⚡️
    Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
    Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
    Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
    В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
    Безумие обратных вызовов в javascript [JS]
    Безумие обратных вызовов в javascript [JS]
    Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
    Система управления парковками с использованием HTML, CSS и JavaScript
    Система управления парковками с использованием HTML, CSS и JavaScript
    Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
    JavaScript Вопросы с множественным выбором и ответы
    JavaScript Вопросы с множественным выбором и ответы
    Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
    0
    0
    49
    2
    Перейти к ответу Данный вопрос помечен как решенный

    Ответы 2

    Почему бы вам не использовать CSS псевдокласс:active для решения этой проблемы?

    .nav li:active {
        // your style
    }
    
    Ответ принят как подходящий

    Вот мой ответ. Я решил это.

    $(function(){
      var current_page_URL = location.href;
      $( "a" ).each(function() {
         if ($(this).attr("href") !== "#") {
           var target_URL = $(this).prop("href");
           if (target_URL == current_page_URL) {
              $('nav a').parents('li, ul').removeClass('active');
              $(this).parent('li').addClass('active');
              return false;
           }
         }
      });
    });
    

    Другие вопросы по теме