Question Rechercher un élément de classe 1 ou de classe 2


J'essaie de trouver du texte dans un élément dont la classe est myClass1 ou myClass2.

var myText = $(this).find('.myClass1:first').text();

Cela fonctionne bien mais je ne sais pas si / comment je peux vérifier pour l'une des 2 classes (mon élément n'aura qu'une classe parmi celles que j'ai mentionnées).

Merci de votre aide!


50
2017-11-16 16:24


origine


Réponses:


Si vous voulez le premier trouvé (mais un seul) utilisation

var myText = $(this).find('.myClass1,.myClass2').eq(0).text();

Si vous voulez le premier de chaque genre (deux résultats) puis regardez la réponse fournie par @jelbourn.


66
2017-11-16 16:28



Vous pouvez séparer vos sélecteurs avec des virgules pour générer une liste contenant tous les éléments avec l'une ou l'autre classe (ou avec les deux):

var elements = $(this).find('.myclass1:first, .myclass2:first');

24
2017-11-16 16:27



Entrez une virgule entre les deux classes dans votre sélecteur.

$(".a, .b")

cela correspondra à tous les éléments avec la classe "a" OR class "b"

http://api.jquery.com/class-selector/


9
2017-11-16 16:30



Utilisez une instruction if et la fonction jQuery hasClass ():

http://api.jquery.com/hasClass/

Cela ressemblerait probablement à ceci:

if($(this).hasClass('myClass1') || $(this).hasClass('myClass2')) {
  myText = $(this).text();
} else {
  myText = null;
}

4
2017-11-16 16:30