var classes = $(this).attr('class').split(' '); // this gets the current element classes
var classes = $(this).parent().attr('class').split(' '); // this gets the parent classes.
O pai na situação acima é um ankor.
Se eu quisesse obter o primeiro DIV pai de $ (this), como seria o código?
var classes = $(this).div:parent().attr('class').split(' '); // just a quick try.
* Basicamente, eu quero obter as classes do primeiro pai DIV de $ (this).
THX
parents("div")
está atravessando e retorna todos os divs pai que você deve usar.eq(0)
depois disso para garantir que ele retorne apenas o que você deseja.parents('div').eq(0)
- usar aquele seletor CSS de bolsa SEGUIDO por jQuery para filtrar apenas o primeiro elemento dará a você um ligeiro aumento de desempenho - consulte a seção 'Notas adicionais' no jQuery: eq docclosest()
para que não retornasse todos os pais, exceto odiv
pai.Use
.closest()
, que obtém o primeiro elemento ancestral que corresponde ao seletor fornecido'div'
:EDITAR:
Como @Shef observou,
.closest()
retornará o elemento atual se acontecer de ser um DIV também. Para levar isso em consideração, use.parent()
primeiro:fonte
.closest()
corresponderá a si mesmo se$(this)
for um elemento DIV..parents("div").eq(0)
Obtém o pai se for um div. Então começa a classe.
fonte
Mantenha simples!
fonte
duas das melhores opções são
e, claro, você pode encontrar o atributo de classe por
fonte