добавить «активный» класс к выбранному элементу списка через JavaScript

0

У меня есть имя класса "active", которое я хочу добавить в выбранный элемент списка.

Вот как выглядит мой стиль списка:

<ul class="page-sidebar-menu">

<li class="start active">
                    <a href="dashboard.php"><span class="title">Dashboard</span></a>
                </li>
                <li >
                    <a href="javascript:;"><span class="title">Pages</span></a>
                    <ul class="sub-menu">
                        <li >
                            <a href="all-pages.php">All Page</a>
                        </li>
                        <li >
                            <a href="add-page.php">Add Page</a>
                        </li>
                    </ul>
                </li>

              <li>
                    <a href="javascript:;"><span class="title">Posts</span></a>
                    <ul class="sub-menu">
                        <li >
                            <a href="all-posts.php">All Posts</a>
                        </li>
                        <li >
                            <a href="add-posts.php">Add Posts</a>
                        </li>
                    </ul>
                </li>

</ul>

Я хочу добавить класс в два места: "li" под подменю и <span class="title">Posts</span>

Он должен выглядеть примерно так Изображение 174551

Я пробовал что-то вроде этого, но не работал

$('.page-sidebar-menu ul li a').click(function() {
              $('.page-sidebar-menu ul li').removeClass('active');    
              $(this).addClass('active');
            }); 

Пожалуйста, предложите некоторое решение.

Спасибо!

Теги:

1 ответ

0
$(".sub-menu li").addClass("active");
$(".title").addClass("active");

Чтобы добавить класс к элементу списка и элементу "Заголовок". Если вы хотите удалить класс, который вы можете использовать. '.removeClass([класс, который нужно удалить])'

функция для этого:

$(".sub-menu li").click(function(){
  $(".sub-menu li").removeClass('active');//to make sure there will be only one with the class 'active'
  $(this).addClass('active');
});

DEMO

  • 0
    Да, но мне нужно удалить предыдущий класс также. и нужно иметь класс в <span class="title">Posts</span>
  • 0
    @ user3201500 Но у li-item нет предыдущего класса. И вы хотите, чтобы класс 'title' тоже был удален?
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню