设置图片src属性在Chrome中不起作用

我想获取一个图像的src在按下#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",""); }) 

我也尝试过:

 jQuery(this).prev('img').removeAttr("src"); 

它在Firefox,IE7-9和Safari中运行良好。

仅在Chrome中,即使源更改( src="" ),也不会删除图像。

你可以改成它

 jQuery(this).attr("src", "data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="); 

也许?

因为在我的情况下这样做

 $(this).attr("src",""); 

清除src属性,但是,图像不会消失。 因此我只是将img标签样式属性显示设置为none,就像这样

 $(this).attr("src","").css("display", "none"); 

它会隐藏图像。 我希望,它会暂时为你服务。

尝试删除图像并再次附加

 jQuery('#another_div').children("img").remove() jQuery('#another_div').append('').attr("src",jQuery(this).prev('img').attr("src")); 
 jQuery('#btn').live("click", function() { jQuery('#another_div') .children("img") .attr("src", jQuery(this).prev('img').attr("src")); jQuery(this) .prev('img').remove(); }) 

以下适用于Chrome,似乎没有给控制台发送任何消息:

 image.src = "about:blank"; // Clear source path 

尝试将src设置为空白

 $(this).attr("src",""); 

然后

 $(this).removeAttr("src"); 

这对我有用:

 var $image = $('.my-image-selector'); $image.removeAttr('src').replaceWith($image.clone()); 

但是,请注意您可能附加到图像的任何事件处理程序。 jQuery clone总是有forDataAndEventsdeepWithDataAndEvents选项,但我还没有用它们测试代码: http : //api.jquery.com/clone/#clone-withDataAndEvents

此外,如果您想为多个图像执行此操作,您可能必须使用类似jQuery的内容

我在类似的问题上发布了相同的答案: 用jQuery清除IMG