Utilisez simplement le sélecteur de classe classique.
$('#my_id .my_class')
Peu importe si l'élément a également d'autres classes. Il a la classe .my_class , et il est quelque part dans #my_id , donc il correspondra à ce sélecteur.
Concernant les performances
Selon la documentation sur les performances du sélecteur jQuery , il est plus rapide d'utiliser les deux sélecteurs séparément, comme ceci:
$('#my_id').find('.my_class')
Voici la partie pertinente de la documentation:
Sélecteurs basés sur l'ID
// Fast:
$( "#container div.robotarm" );
// Super-fast:
$( "#container" ).find( "div.robotarm" );
L' .find()
approche est plus rapide car la première sélection est gérée sans passer par le moteur de sélection Sizzle - les sélections ID uniquement sont gérées à l'aide document.getElementById()
, ce qui est extrêmement rapide car il est natif du navigateur.
La sélection par ID ou par classe seule (entre autres) appelle des fonctions fournies par le navigateur comme celles document.getElementById()
qui sont assez rapides, tandis que l'utilisation d'un sélecteur descendant appelle le moteur Sizzle comme mentionné qui, bien que rapide, est plus lent que l'alternative suggérée.