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
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.
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(' ');
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");
Rester simple!
var classes = $(this).parent('div').attr('class');