Tengo un diseño similar a este:
<div id="..."><img src="..."></div>
y me gustaría usar un selector jQuery para seleccionar al niño img
dentro del div
clic.
Para obtener el div
, tengo este selector:
$(this)
¿Cómo puedo hacer que el niño img
use un selector?
También podrías usar
que devolvería todos los
img
s que son descendientes de ladiv
fuente
$(this).children('img')
que sería mejor. por ejemplo,<div><img src="..." /><div><img src="..." /></div></div>
porque presumiblemente el usuario quiere encontrar imgs de primer nivel.Si necesita obtener el primero
img
que está exactamente en un nivel, puede hacerlofuente
:first
Solo coincide con " bajar exactamente un nivel ", o coincide con el "primero"img
que se encontró?.children()
es de donde viene el "bajar exactamente un nivel" y:first
es de donde vino el "primero"..find()
lugar de.children()
this
ya era una referencia al<div>
contenido<img>
, sin embargo, si tiene varios niveles de etiqueta para atravesar la referencia que tenía, definitivamente podría componer más de unachildren()
llamadaSi su etiqueta DIV es seguida inmediatamente por la etiqueta IMG, también puede usar:
fuente
Los niños directos son
fuente
Puedes encontrar todos los elementos img del elemento principal div a continuación
Si quieres un elemento img específico, puedes escribir así
Su div contiene solo un elemento img. Entonces para esto a continuación es correcto
Pero si tu div contiene más elementos img como a continuación
entonces no puede usar el código superior para encontrar el valor alternativo del segundo elemento img. Entonces puedes probar esto:
Este ejemplo muestra una idea general de cómo puede encontrar un objeto real dentro del objeto padre. Puede usar clases para diferenciar su objeto hijo. Eso es fácil y divertido. es decir
Puedes hacer esto de la siguiente manera:
y más específico como:
Puede usar find o children como el código anterior. Para más información, visite http://api.jquery.com/children/ y encuentre http://api.jquery.com/find/ . Ver ejemplo http://jsfiddle.net/lalitjs/Nx8a6/
fuente
Formas de referirse a un niño en jQuery. Lo resumí en el siguiente jQuery:
fuente
Sin conocer la ID del DIV, creo que podría seleccionar el IMG de esta manera:
fuente
Prueba este código:
fuente
$($(this).children()[0])
.$(this:first-child)
$($(this).children()[x])
usar$(this).eq(x)
o si quieres el primero, solo$(this).first()
.Puede usar cualquiera de los siguientes métodos:
1 encontrar ():
2 niños():
fuente
jQuery's
each
es una opción:fuente
Puede usar Child Selecor para hacer referencia a los elementos secundarios disponibles dentro del elemento primario.
Y lo siguiente es si no tiene referencia
$(this)
y desea hacer referenciaimg
disponible dentrodiv
de otra función.fuente
También esto debería funcionar:
fuente
this
Aquí hay un código funcional, puede ejecutarlo (es una demostración simple).
Cuando haces clic en el DIV obtienes la imagen de diferentes métodos, en esta situación "esto" es el DIV.
¡Espero eso ayude!
fuente
Puede tener de 0 a muchas
<img>
etiquetas dentro de su<div>
.Para encontrar un elemento, use un
.find()
.Para mantener su código seguro, use a
.each()
.Usar
.find()
y.each()
juntos evita errores de referencia nulos en el caso de 0<img>
elementos, al tiempo que permite el manejo de múltiples<img>
elementos.fuente
$("body").off("click", "#mydiv").on("click", "#mydiv", function() {
event.stopImmediatePropagation()
el elemento para evitar que eso suceda.fuente
Podrías usar
fuente
Si su img es exactamente el primer elemento dentro de div, intente
Mostrar fragmento de código
fuente