jQuery: removeClass, когда класс является частью условия
Мне просто интересно, если это возможно с JQuery:
if (jQuery(".the-title").is('.selected')) {
jQuery('.the-copy').css('display', 'block');
jQuery(".the-title").removeClass('.selected'); //is this possible?
}
По сути, я хочу знать, могу ли я удалить класс, который создает условие внутри оператора if. Если нет, есть идеи, как этого добиться?
Спасибо
5 ответов
Да, это возможно. Тем не менее, ваш синтаксис для removeClass
это неверно. Не должно включать предыдущий период:
if($(".the-title").is('.selected'))
{
$('.the-copy').css('display', 'block');
$(".the-title").removeClass('selected'); //is this possible?
}
Пожалуйста, посмотрите эту jsFiddle для демонстрации> http://jsfiddle.net/QL7ds/1/
Да. Этот код прекрасно работает, так как условие оценивается до запуска внутреннего блока.
Да, это возможно. Вы просто оцениваете, есть ли у элемента класс, если он есть, вы можете определить, хотите ли вы удалить его или сделать что-то еще.
Абсолютно вы можете. Помните, что removeClass и addClass в jQuery не нуждаются в точке. Правильный (и более простой) код будет:
$('.the-title.selected')
.removeClass('selected')
.siblings('.the-copy').css('display', 'block');
Предполагается, что.the-копия - это брат.the-title. Вы можете заменить это любой другой функцией обхода jquery dom
ДА
if ($(".the-title").is('.selected')) {
$('.the-copy').show(); //does display -> block without animation
$(".the-title").removeClass('selected');
}