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''])) {
// ...
};
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector