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 DIV parent 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 DIV parent de $ (this).
THX
parents("div")
traverse et retourne tous les div parents que vous devriez utiliser.eq(0)
après pour vous assurer qu'il ne renvoie que celui que vous voulez.parents('div').eq(0)
- l'utilisation de ce sélecteur CSS de bourse FOLLOWED by jQuery pour filtrer uniquement sur le premier élément vous donnera une légère amélioration des performances - voir la section 'Notes supplémentaires' sur jQuery: eq docclosest()
pour ne pas renvoyer tous les parents sauf lediv
parent.Utilisez
.closest()
, qui obtient le premier élément ancêtre qui correspond au sélecteur donné'div'
:ÉDITER:
Comme @Shef l'a noté,
.closest()
retournera l'élément actuel s'il se trouve être également un DIV. Pour en tenir compte, utilisez d'.parent()
abord:la source
.closest()
se correspondra si$(this)
est un élément DIV..parents("div").eq(0)
Cela obtient le parent s'il s'agit d'un div. Ensuite, ça devient classe.
la source
Rester simple!
la source
deux des meilleures options sont
et bien sûr, vous pouvez trouver la classe attr par
la source