103 votes

Comment sélectionner le premier parent DIV à l'aide de jQuery?

 var classes = $(this).attr('class').split(' '); // this gets the current element classes

var classes = $(this).parent().attr('class').split(' '); // this gets the parent classes.
 

Le parent dans la situation ci-dessus est un ankor.

Si je voulais obtenir le premier parent DIV de $ (this), à quoi ressemblerait le code?

 var classes = $(this).div:parent().attr('class').split(' '); // just a quick try.
 

* Fondamentalement, je veux obtenir les classes du premier parent DIV de $ (this).

THX

168voto

Shef Points 21595

Utilisez .closest() pour parcourir l'arborescence DOM jusqu'au sélecteur spécifié.

 var classes = $(this).parent().closest('div').attr('class').split(' '); // this gets the parent classes.
 

41voto

Tatu Ulmanen Points 52098

Utilisez .closest() , qui obtient le premier élément d'ancêtre correspondant au sélecteur donné 'div' :

 var classes = $(this).closest('div').attr('class').split(' ');
 

MODIFIER:

Comme @Shef l’a noté, .closest() renverra l’élément actuel s’il s’agit également d’une DIV. Pour prendre cela en compte, utilisez .parent() abord:

 var classes = $(this).parent().closest('div').attr('class').split(' ');
 

8voto

Esben Points 600

Ceci obtient le parent s'il s'agit d'une div. Ensuite, il y a de la classe.

 var div = $(this).parent("div");
var _class = div.attr("class");
 

2voto

Daniel West Points 640

Rester simple!

 var classes = $(this).parent('div').attr('class');
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X