Avec:
if(element.hasClass("class"))
Je peux rechercher une classe, mais y a-t-il un moyen simple de vérifier si "élément" a l'une des nombreuses classes?
J'utilise:
if(element.hasClass("class") || element.hasClass("class") ... )
Ce qui n'est pas trop mal, mais je pense à quelque chose comme:
if(element.hasClass("class", "class2")
Ce qui ne fonctionne malheureusement pas.
Y a-t-il quelque chose comme ça?
.hasClass()
mais votre solution semble avoir fait l'affaire, merci$('element').is('.class1.class2')
fait.class1.class2
correspondra aux éléments qui ont les deux classes, mais ils recherchaient des éléments correspondant à l'une ou l'autre des classes.fonctionne, mais c'est 35% plus lent que
Si vous doutez de ce que je dis, vous pouvez vérifier sur jsperf.com .
J'espère que cela aidera quelqu'un.
la source
Cela devrait le faire, simple et facile.
la source
filter () est une autre option
la source
Que dis-tu de ça?
la source
voici une réponse qui suit la syntaxe de
ce n'est pas le plus rapide, mais c'est sans ambiguïté et la solution que je préfère. banc: http://jsperf.com/hasclasstest/10
la source
Error: $self is not defined
var $self = $(this);
juste avant la boucle forEt ça,
Facile à utiliser,
Et cela semble être plus rapide, http://jsperf.com/hasclasstest/7
la source
Qu'en est-il de:
la source
> 0
. Si la longueur est différente de zéro, elle retournera vrai.jQuery
Vanille JS
la source
utilisez la fonction js match () par défaut:
pour utiliser des variables dans l'expression rationnelle, utilisez ceci:
au fait, c'est le moyen le plus rapide: http://jsperf.com/hasclass-vs-is-stackoverflow/22
la source
Travaille pour moi:
la source
Vous pouvez faire de cette façon:
la source
Cela a fonctionné pour moi:
la source
$('.class1.class2')
sans avoir besoin d'utiliser un sélecteur d'attribut pour la deuxième classe. En outre, la question est de savoir comment sélectionner un élément par l'une des classes, pas toutes.