javascript - hasclass - obtener el primer hijo de un elemento jquery
¿Cómo encontrar un padre con una clase conocida en jQuery? (3)
Pase un selector a la función parents jQuery:
d.parents(''.a'').attr(''id'')
EDITAR Hmm, en realidad la respuesta de Slaks es superior si solo quieres el ancestro más cercano que coincida con tu selector.
Tengo un <div>
que tiene muchos otros <div>
s dentro de él, cada uno en un nivel de anidación diferente. En lugar de darle a cada niño <div>
un identificador, prefiero darle el identificador a la raíz <div>
. Aquí hay un ejemplo:
<div class="a" id="a5">
<div class="b">
<div class="c">
<a class="d">
</a>
</div>
</div>
</div>
Si escribo una función en jQuery para responder a la clase d
y quiero encontrar el ID para su padre, clase a
, ¿cómo lo haría? No puedo simplemente hacer $(''.a'').attr(''id'');
porque hay múltiples clases a
. Pude encontrar la identificación de los padres de los padres de los padres, pero parece tener un diseño deficiente, lento y poco polimórfico (tendría que escribir un código diferente para encontrar el ID para la clase c
).
Puede usar los parents para obtener todos los padres con el selector dado.
Descripción: Obtenga los ancestros de cada elemento en el conjunto actual de elementos coincidentes, opcionalmente filtrados por un selector.
Pero parent() obtendrá solo el primer elemento primario del elemento.
Descripción: Obtenga el padre de cada elemento en el conjunto actual de elementos coincidentes, opcionalmente filtrado por un selector.
jQuery parent () vs. parents ()
Y hay .parentsUntil() que creo que será el mejor.
Descripción: Obtenga los antepasados de cada elemento en el conjunto actual de elementos coincidentes, hasta, pero sin incluir, el elemento que coincide con el selector.
Suponiendo que this
es .d
, puede escribir
$(this).closest(''.a'');
El método closest
devuelve el elemento primario más interno de su elemento que coincide con el selector.