使用jquery动态删除图像

时间:2013-02-21 16:40:13

标签: jquery

我知道使用jquery,如果我想在click事件上加载图像运行时,则使用此语法,

    $("#open_door").attr("src", "../assets/door_open.gif");

但如果我想在另一个按钮的点击事件中删除相同的图像运行时,那么??我想要相同的语法

4 个答案:

答案 0 :(得分:1)

如果您无法从dom中删除图像,请隐藏它:

$("#open_door").css("display","none");

答案 1 :(得分:1)

您可以简单地将元素的visibility css属性更改为hidden。这将允许它在页面布局中保持其位置,但不会被看到。

$('#open_door').css('visibility', 'hidden');

答案 2 :(得分:0)

你可以这样做:

$("#open_door").attr("src", ""); // Set the src to "" (nothing)

或者:

$("#open_door").remove(); // remove #open_door from the DOM.

在SO的其他地方找到这个,关于你对你的问题的评论:

$("#myimg").removeAttr("src").attr("src", "");

或者作为最后的手段,您可以将完全白色的图像上传到您的服务器,然后显示:

$("#open_door").attr("src", "path/to/white/image.jpg");

答案 3 :(得分:0)

我遇到类似Safari的问题。 它不会让我将属性设置为空值。我想要一个按钮来触发一个简短的gif动画来播放...在这种情况下,Spock给Kirk一个很好的SMACK !!

这是动画: http://www.lowbird.com/data/images/2012/06/tumblr-lq96pfhnuq1qlc8fao1-400.gif

我的解决方案对我来说有点麻烦,但我使用了.hide()方法。如果你想再次显示动画,你只需要在早些时候再次显示div。你走了:

 $('#smackKirk').on('click', function(){
    $('#animate').show(); // not necessary in chrome     
    $('#animate').attr("src", "http://www.lowbird.com/data/images/2012/06/tumblr-lq96pfhnuq1qlc8fao1-400.gif");
    setTimeout(function() {
        $('#animate').attr('src',"");
            $('#animate').hide(); // not necessary in chrome 
    }, 2400);