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 veux trouver le premier élément qui a le préfixe de classe div-a. Donc, fondamentalement, il sélectionnera:
<div class="div-a89892">
jquery
jquery-selectors
Voyage dans le temps
la source
la source
<div class='a'>
, puis fournissez des règles pourdiv.a
. Je ne sais pas du tout pourquoi vous mettezdiv
le nom de la classe, en fait.Réponses:
Utiliser
.closest()
avec un sélecteur:la source
div
sélecteur d'élément:$('#divid').closest('[class^="div-a"]')
. Comme @Stefan l'a commenté, cependant, vous devriez vraiment utiliser plusieurs classes.Jquery vous a ensuite permis de trouver les parents avec la
.parents()
méthode.Par conséquent, je recommande d'utiliser:
Cela donne tous les nœuds parents correspondant au sélecteur. Pour obtenir le premier parent correspondant au sélecteur, utilisez:
Pour d'autres requêtes de traversée du DOM, consultez la documentation sur la traversée du DOM .
la source