jquery - lazy - La configuración del atributo src de la imagen no funciona en Chrome
lazy loading offscreen images (7)
Quiero obtener el src
de una imagen y configurarlo como src
de otra cuando se presione #btn
:
jQuery("#btn").live("click", function() {
jQuery("#another_div")
.children("img")
.attr("src", jQuery(this).prev("img").attr("src"));
jQuery(this)
.prev("img")
.attr("src","");
})
También he intentado:
jQuery(this).prev(''img'').removeAttr("src");
Funciona bien en Firefox, IE7-9 y Safari.
Solo en Chrome, la imagen no se elimina incluso cuando la fuente cambia ( src=""
).
Esto funcionó para mí:
var $image = $(''.my-image-selector'');
$image.removeAttr(''src'').replaceWith($image.clone());
Sin embargo, tenga cuidado con cualquier controlador de eventos que pueda haber adjuntado a la imagen. Siempre hay las opciones withDataAndEvents y deepWithDataAndEvents para el clon jQuery , pero no he probado el código con ellos: http://api.jquery.com/clone/#clone-withDataAndEvents
Además, si desea hacer esto para varias imágenes, probablemente tendrá que usar algo como jQuery cada una .
Publiqué una respuesta idéntica en una pregunta similar: borrar un IMG con jQuery
Intenta eliminar la imagen y añadirla de nuevo.
jQuery(''#another_div'').children("img").remove()
jQuery(''#another_div'').append(''<img>'').attr("src",jQuery(this).prev(''img'').attr("src"));
Lo siguiente funciona bien con Chrome y no parece dar ningún mensaje a la consola:
image.src = "about:blank"; // Clear source path
Podrías cambiarlo a
jQuery(this).attr("src", "data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==");
¿tal vez?
Ya que en mi caso haciendo esto
$(this).attr("src","");
borrando el atributo src, pero la imagen no desaparece. Por lo tanto, acabo de configurar, img etiqueta estilo atributo de visualización en ninguno, como este
$(this).attr("src","").css("display", "none");
Ocultará la imagen. Espero que funcione temporalmente para usted.
intenta configurar primero el src en blanco
$(this).attr("src","");
entonces
$(this).removeAttr("src");
jQuery(''#btn'').live("click", function() {
jQuery(''#another_div'')
.children("img")
.attr("src", jQuery(this).prev(''img'').attr("src"));
jQuery(this)
.prev(''img'').remove();
})