web-dev-qa-db-fra.com

JQuery recherche le premier élément parent avec un préfixe de classe spécifique

Je veux obtenir le premier parent qui a un préfixe de classe spécifique, supposons:

<div class="div-a3332"> 
  <div class="div-a89892">
    <p>
      <div class="div-b2">
        <div id="divid">hi</div>
      </div>
    </p>
  </div>
</div>

Par exemple, mon élément actuel est #divid et je souhaite trouver le premier élément ayant le préfixe de classe div-a. Donc, fondamentalement, il va sélectionner:

<div class="div-a89892">
115
Time Travel

Utilisez .closest() avec un sélecteur:

var $div = $('#divid').closest('div[class^="div-a"]');
207
Matt Ball

Jquery vous a ensuite permis de trouver les parents avec la méthode .parents() .

Par conséquent, je recommande d'utiliser:

var $div = $('#divid').parents('div[class^="div-a"]');

Cela donne tous les nœuds parents correspondant au sélecteur. Pour obtenir le premier parent correspondant au sélecteur, utilisez:

var $div = $('#divid').parents('div[class^="div-a"]').eq(0);

Pour d’autres requêtes de ce type sur le DOM, consultez la documentation sur traversant le DOM .

52
Sunny R Gupta