Saltar al contenido

javascript – ¿Cómo obtener los elementos secundarios del selector $ (this)?

octubre 17, 2021
apple touch icon@2

Puedes encontrar todo img elemento de div padre como a continuación

$(this).find('img') or $(this).children('img')

Si quieres un img elemento que puedes escribir así

$(this).children('img:nth(n)')  
// where n is the child place in parent list start from 0 onwards

Tu div contiene solo uno img elemento. Entonces, para esto de abajo es correcto

 $(this).find("img").attr("alt")
                  OR
  $(this).children("img").attr("alt")

Pero si tu div contiene más img elemento como a continuación

<div class="mydiv">
    <img src="test.png" alt="3">
    <img src="test.png" alt="4">
</div>

entonces no puede usar el código superior para encontrar el valor alt del segundo elemento img. Entonces puedes probar esto:

 $(this).find("img:last-child").attr("alt")
                   OR
 $(this).children("img:last-child").attr("alt")

Este ejemplo muestra una idea general de cómo puede encontrar objetos reales dentro del objeto principal. Puede utilizar clases para diferenciar el objeto de su hijo. Eso es fácil y divertido. es decir

<div class="mydiv">
    <img class="first" src="test.png" alt="3">
    <img class="second" src="test.png" alt="4">
</div>

Puede hacer esto de la siguiente manera:

 $(this).find(".first").attr("alt")

y más específico como:

 $(this).find("img.first").attr("alt")

Puede usar buscar o niños como el código anterior. Para más visita Niños http://api.jquery.com/children/ y encontrar http://api.jquery.com/find/. Ver ejemplo http://jsfiddle.net/lalitjs/Nx8a6/

close