[javascript] Reemplace dinámicamente el atributo img src con jQuery



Answers

attr verificar el método attr en los documentos de jQuery. Lo estás haciendo mal uso. Lo que está haciendo dentro de las sentencias if simplemente reemplaza todas las etiquetas de imagen src con la cadena especificada en el 2 ° parámetro.

http://api.jquery.com/attr/

Una mejor forma de abordar la sustitución de una serie de fuentes de imágenes sería recorrer cada una de ellas y verificar su origen.

Ejemplo:

$('img').each(function () {
  var curSrc = $(this).attr('src');
  if ( curSrc === 'http://example.com/smith.gif' ) {
      $(this).attr('src', 'http://example.com/johnson.gif');
  }
  if ( curSrc === 'http://example.com/williams.gif' ) {
      $(this).attr('src', 'http://example.com/brown.gif');
  }
});
Question

Estoy tratando de reemplazar la fuente de img de una fuente dada usando jQuery. Por ejemplo, cuando la imagen src es smith.gif, reemplace a johnson.gif. Si williams.gif lo reemplaza por brown.gif, etc.

EDITAR: Las imágenes se recuperan de un XML a un orden aleatorio, sin clase para cada uno.

Esto es lo que intenté:

if ( $("img").attr('src', 'http://example.com/smith.gif') ) {
              $(this).attr('src', 'http://example.com/johnson.gif');
            }
if ( $("img").attr('src', 'http://example.com/williams.gif') ) {
              $(this).attr('src', 'http://example.com/brown.gif');
            }

Tenga en cuenta que mi HTML tiene muchas imágenes. Por ejemplo

<img src="http://example.com/smith.gif">
<img src="http://example.com/williams.gif">
<img src="http://example.com/chris.gif">

etc.

Entonces, ¿cómo puedo reemplazar las imágenes? IF img src = "http://example.com/smith.gif" y luego mostrar "http://example.com/williams.gif". etc ...

Muchas gracias




Links