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");

Essayez-le vous-même

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');

Essayez-le vous-même

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>.