var classes = $(this).attr('class').split(' '); // this gets the current element classes
var classes = $(this).parent().attr('class').split(' '); // this gets the parent classes.
El padre en la situación anterior es un ankor.
Si quisiera obtener el primer DIV principal de $ (esto), ¿cómo se vería el código?
var classes = $(this).div:parent().attr('class').split(' '); // just a quick try.
* Básicamente quiero obtener las clases del primer padre DIV de $ (esto).
Gracias
parents("div")
está atravesando y devuelve todos los div padre que debe usar.eq(0)
después para asegurarse de que devuelva solo el que desea.parents('div').eq(0)
: usar ese selector de CSS de bolso SEGUIDO por jQuery para filtrar solo el primer elemento le dará un ligero aumento de rendimiento; consulte la sección 'Notas adicionales' en jQuery: eq docclosest()
para que no devuelva todos los padres excepto eldiv
padre.Use
.closest()
, que obtiene el primer elemento ancestro que coincide con el selector dado'div'
:EDITAR:
Como señaló @Shef,
.closest()
devolverá el elemento actual si también es un DIV. Para tener eso en cuenta, use.parent()
primero:fuente
.closest()
coincidirá con sí mismo si$(this)
es un elemento DIV..parents("div").eq(0)
Esto obtiene parent si es un div. Entonces se pone clase.
fuente
¡Mantenlo simple!
fuente
dos de las mejores opciones son
y, por supuesto, puedes encontrar el atributo de clase por
fuente