web-dev-qa-db-fra.com

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.

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

merci

92
Adam

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

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 se trouve qu'il s'agit également d'un DIV. Pour prendre cela en compte, utilisez .parent() en premier:

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

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

Rester simple!

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