Задать вопрос

Как по клику на «li» добавлять ему класс?

Есть разметка
<ul class="dropdown-menu" role="menu">
        <li class="vloading active"><a href="#">50</a></li>
        <li class="vloading "><a href="#">100</a></li>
        <li class="vloading "><a href="#">200</a></li>
    </ul>

Нужно , чтобы при клике на соответствующий елемент списка добавлялся к нему класс active . Как это сделать?
  • Вопрос задан
  • 586 просмотров
Подписаться 2 Оценить Комментировать
Ответ пользователя Златослав Десятников К ответам на вопрос (5)
pxz
@pxz
✔ Совет: Вам помогли? Отметьте ответы решением.
Лучше вешать обработчик на родительский элемент или документ, а не на все элементы списка, потому что так будет один обработчик, а не столько, сколько элементов списка (это ещё не считая того, что они могут быть добавлены динамически и обработчика на новом элементе не будет, если сделать $('li').on(...)).

Вот набросал на JSFiddle.

$(document).on('click', '.dropdown-menu li', function(e) {
	var $li = $(this);
  $li.siblings(".active").removeClass('active');
  $li.addClass('active');
});
Ответ написан