Com:
if(element.hasClass("class"))
Posso verificar uma classe, mas existe uma maneira fácil de verificar se "elemento" tem alguma de muitas classes?
Estou usando:
if(element.hasClass("class") || element.hasClass("class") ... )
O que não é tão ruim, mas estou pensando em algo como:
if(element.hasClass("class", "class2")
O que infelizmente não funciona.
Existe algo assim?
.hasClass()
mas sua solução parece ter feito o truque, graças$('element').is('.class1.class2')
fez.class1.class2
corresponderão a elementos que possuem ambas as classes, mas eles estavam procurando elementos que correspondam a ambas as classes.funciona, mas é 35% mais lento que
Se você duvida do que eu digo, você pode verificar em jsperf.com .
Espero que isso ajude alguém.
fonte
Isso deve ser feito, simples e fácil.
fonte
filter () é outra opção
fonte
Que tal agora?
fonte
aqui está uma resposta que segue a sintaxe de
não é o mais rápido, mas é inequívoco e a solução que eu prefiro. bench: http://jsperf.com/hasclasstest/10
fonte
Error: $self is not defined
var $self = $(this);
pouco antes de o loop forQue tal isso,
Fácil de usar,
E parece ser mais rápido, http://jsperf.com/hasclasstest/7
fonte
A respeito:
fonte
> 0
. Se o comprimento for diferente de zero, ele retornará verdadeiro.jQuery
JS de baunilha
fonte
use a função js match () padrão:
Para usar variáveis no regexp, use o seguinte:
a propósito, esta é a maneira mais rápida: http://jsperf.com/hasclass-vs-is-stackoverflow/22
fonte
Funciona para mim:
fonte
Você pode fazer assim:
fonte
Isso funcionou para mim:
fonte
$('.class1.class2')
sem a necessidade de usar um seletor de atributos para a segunda classe. Além disso, a pergunta é perguntar como selecionar um elemento por uma das classes, não todas.