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

时间:2011-12-08 03:31:31

标签: jquery google-chrome image

我希望获得一张图片的src,并在按下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=""),也不会删除图像。

8 个答案:

答案 0 :(得分:30)

您可以将其更改为

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

可能?

答案 1 :(得分:3)

因为在我的情况下这样做

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

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

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

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

答案 2 :(得分:2)

尝试删除图片并再次附加

jQuery('#another_div').children("img").remove()
jQuery('#another_div').append('<img>').attr("src",jQuery(this).prev('img').attr("src"));

答案 3 :(得分:1)

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

答案 4 :(得分:1)

The following works well with Chrome and does not seem to give any messages to console:

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

答案 5 :(得分:0)

尝试将src设置为空白

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

然后

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

答案 6 :(得分:0)

这对我有用:

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

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

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

我在类似的问题上发布了相同的答案:Clear an IMG with jQuery

答案 7 :(得分:0)

这也起作用:

$('img').attr('src', 'javascript:void(0)');