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 ***;
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 afunction()
. ¿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