La pseudo-classe :has en jQuery
La pseudo-classe
has
sélectionne les éléments en fonction de leur contenu. Prenons un exemple.
Supposons que nous ayons le code HTML suivant :
<p>texte avec une balise <b>b</b></p>
<p>texte avec une balise <i><b>b</b></i></p>
<p>texte</p>
Par exemple,
sélectionnons tous les paragraphes à l'intérieur desquels se trouvent des balises
b :
$('p:has(b)');
Notez que dans l'exemple, le premier
paragraphe sera sélectionné, ainsi que le second, malgré
le fait que dans le second paragraphe, la balise b
ne se trouve pas directement à l'intérieur de p,
mais se trouve d'abord dans i.
Si vous avez besoin d'une imbrication directe, vous devez procéder comme suit :
$('p:has(>b)');
Dans ce cas, seul le premier paragraphe sera sélectionné.
Obtenez et colorez en rouge tous les
h2 à l'intérieur desquels se trouve une balise i.
Obtenez et colorez en rouge tous les
h2 qui contiennent directement
une balise i.