alex-lenk
@alex-lenk
Разработчик сайтов

Как убрать класс при повторном клике?

Здравствуйте. При клике на картинку, в блоке прописывается класс .active, а вот при повторном нажатии не удаляется этот класс, как это реализовать?

var selector = '.work-1, .work-2, .work-3';
$(selector).find('> img').click(function () {
        $(selector).removeClass('active');
        $(this).parent().addClass('active');
    });
});


ЗЫ. Вот где моя верстка artlenk.ru/project/photo
  • Вопрос задан
  • 2583 просмотра
Решения вопроса 1
alsopub
@alsopub
var selector = '.work-1, .work-2, .work-3';
$(selector).find('> img').click(function () {
        $(selector).not($(this).parent()).removeClass('active');
        $(this).parent().toggleClass('active');
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
$(selector).find('> img').click(function () {
        $(selector).toggleClass('active');        
    });
Ответ написан
Удаляется. Только потом сразу же ставится обратно.
попробуйте использовать hasClass()
var $works= $('.work-1, .work-2, .work-3');
$works.on('click', 'img', function () {

if($(this).parent().hasClass('active')) {
        $works.removeClass('active');
} else {
        $works.removeClass('active');
        $(this).parent().addClass('active');
}
    });
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы