encontrar la imagen src que: contiene?

2 minutos de lectura

Buenos días a todos,

Tengo una lista de imágenes así:

<ul id="preload" style="display:none;">
<li><img src="https://stackoverflow.com/questions/4498177/afx4000z-navy-icon-1_thumb.jpg"/></li>
<li><img src="afx4000z-green-icon-1_thumb.jpg"/></li>
</ul>

Usando jQuery, cómo encontrar todos los src de imágenes dentro de ul#preload que contienen una cadena específica, por ejemplo, “verde”

algo como…

var new_src = jQuery('#preload img').attr('src')*** that contains green ***;

avatar de usuario
Gabi Purcarú

necesitas usar la *= selector:

jQuery('#preload img[src*="green"]')

Si desea que no se distinga entre mayúsculas y minúsculas, será un poco más difícil:

var keyword = "green";
$("#preload img").filter(function(keyword) {
    return $(this).attr("src").toLowerCase().indexOf(keyword.toLowerCase()) != -1;
});

  • ¡Muchas gracias Gaby! ¡Funciona perfectamente!

    – Charles Desarrollador Web

    21 de diciembre de 2010 a las 10:44


  • Su segundo ejemplo arrojaría un error, los números no tienen método .toLowerCase().

    –Nick Craver

    21 de diciembre de 2010 a las 11:26

  • ¿Cómo puedo usar esta lógica para encontrar todas las imágenes que no tienen verde?

    – doblajes

    19 de junio de 2014 a las 9:29

  • Yo creo function(keyword) es engañoso y semánticamente incorrecto. una opción para arreglarlo es simplemente cambiarlo a function(). ¿Tengo razón, sin embargo? :PAGS

    – Cregox

    30/09/2016 a las 20:00

Puedes usar un selector de contenido de atributo ([attr*=value]), como esto:

jQuery('#preload img[src*=green]')

  • equivocado. green debe estar entre comillas. Del enlace: “Las cotizaciones son obligatorias”.

    – Gabi Purcarú

    21 de diciembre de 2010 a las 10:28


  • precioso, ¿se distingue entre mayúsculas y minúsculas? supongo que sería … ¿cómo puedo usarlo para que no distinga entre mayúsculas y minúsculas?

    – Charles Desarrollador Web

    21 de diciembre de 2010 a las 10:28

  • @Gabi: no son necesarios, pruébelo usted mismo … solo son necesarios si el valor contiene caracteres especiales.

    –Nick Craver

    21 de diciembre de 2010 a las 11:24

¿Ha sido útil esta solución?