Pregunta

Hay, tengo algunas marcas como esto

<div id="some-id">
    <h2><a href="#">Title</a></h2>
</div>

y un poco de jQuery como esto

$(this).parent().parent().attr("id")

$ (este) se refiere a la 'a' etiqueta dentro de la 'h2'

¿Hay una manera más fácil para seleccionar el div padre sin utilizar parent () dos veces. Probé

$(this).parent("div").attr("id")

pero no hizo el trabajo.

Gracias

¿Fue útil?

Solución

Se puede usar .closest() , como esto:

$(this).closest("div").attr("id")

puede probarlo aquí . .parent("div") no es tan intuitivo como parece, se hace solamente del < strong> inmediata los padres si que coincide con el selector, .closest() sube los padres hasta que coincide con el selector.

Tenga en cuenta que (no se aplica a este ejemplo) si this coincide con el selector, devuelve que elemento, que no empezar con el primer padre, se inicia con ella misma.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top