Méthode has() de navigation jQuery
Exemple
Vérifiez si un élément est contenu dans un autre élément :
$("ul").append("<li>" + ($("ul").has("li").length ? "Yes" : "No") + "</li>"); $("ul").has("li").addClass("full");
Définition et utilisation
La méthode has() réduit l'ensemble des éléments correspondants à un sous-ensemble qui possède des descendants correspondants au sélecteur ou à l'élément DOM spécifié.
Syntaxe
.has(selector)
Paramètres | Description |
---|---|
selector | Valeur de chaîne, contenant l'expression du sélecteur correspondant aux éléments correspondants. |
Explication détaillée
Si un objet jQuery représentant un ensemble d'éléments DOM est donné, la méthode .has() construit un nouveau jQuery objet en utilisant le sous-ensemble des éléments correspondants pour la sélection. Le sélecteur utilisé est utilisé pour détecter les descendants des éléments correspondants ; si tout descendant de l'élément correspond à ce sélecteur, cet élément sera inclus dans le résultat.
Réfléchissez à la page suivante qui contient une liste imbriquée :
<ul> <li>Élément de liste 1</li> <li>Élément de liste 2</li> <ul> <li>Élément de liste 2-a</li> <li>Élément de liste 2-b</li> </ul> </li> <li>Élément de liste 3</li> <li>Élément de liste 4</li> </ul>
Nous pouvons appliquer cette méthode à l'ensemble des éléments de la liste, comme ceci :
$('li').has('ul').css('background-color', 'red');
Le résultat de cette appelle est que le fond du projet 2 est défini en rouge, car ce projet est le seul <li> descendant qui possède <ul>.