jQuery: проверить наличие нескольких классов у элемента

В том случае, если Вам необходимо выполнить действие при условии, что в элемента есть несколько классов сразу (то есть условие И, а не ИЛИ), можно пойти следующим путём:

if($(''#myElement'').is(''.classOne, .classTwo'')) {
// ...
}

Код получается короче. Но имейте ввиду, что работает немного медленнее, чем вариант, который Вы использовали раньше.

А как же быть, если необходимо использовать условие ИЛИ? Вот функция, которая вернёт true в случае, если у элемента есть хотя бы один из классов:

$.fn.extend({
hasClasses: function (arr) {
s = this;
for (i in arr) {
if ($(s).hasClass(arr[i]))
return true;
}
return false;
}
});

Использовать так:

if($(''#myElement'').hasClasses([''classOne'', ''classTwo'', ''classThree''])) {
// ...
};
Похожие вопросы
Добавить ответ
Для оформления сообщений Вы можете использовать следующие тэги:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

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