设置图片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总是有forDataAndEvents和deepWithDataAndEvents选项,但我还没有用它们测试代码: http : //api.jquery.com/clone/#clone-withDataAndEvents
此外,如果您想为多个图像执行此操作,您可能必须使用类似jQuery的内容 。
我在类似的问题上发布了相同的答案: 用jQuery清除IMG