如何使用jquery删除附加()图像?

时间:2011-11-27 20:27:24

标签: jquery

在我的网络应用程序中,我有大约10个具有相同类名的标题,因此当用户点击时,加载图像将被附加到它们并且一些数据将通过div中的ajax填充然后在整个处理之后我只是想要删除该加载图片。

这是我的代码:

jQuery('.replyhead').live('click',function(){
    var idval=jQuery(this).attr('id');
    jQuery(this).append('<img src="images/loading.gif"/>');

    jQuery.post('abc.php',{rack:idval},function(data) {
        jQuery('#r'+idval).html(data);      
        //now here i just need to remove that loading.gif       
    });
});

有关如何执行此操作的任何建议吗?

2 个答案:

答案 0 :(得分:2)

不使用append()使用jQuery构造函数创建元素,而是使用appendTo附加它。稍后,您可以使用img.remove()(或您选择的任何变量名称)来删除图像。

jQuery('.replyhead').live('click',function(){

    var idval = jQuery(this).attr('id');
    var img = jQuery('<img src="images/loading.gif"/>').appendTo(this);
    jQuery.post('abc.php',{rack:idval},function(data){
        jQuery('#r'+idval).html(data);      

        //Remove img
        img.remove();
    });
});

另一种方法是将唯一ID附加到图像,然后使用$("#uniqueIDhere").remove()删除元素。如果您没有正确定义唯一ID,此方法将会中断。

(取自以下答案,仅显示相关部分):

jQuery(this).append('<img id="loadinggif" src="images/loading.gif"/>');
    jQuery('#loadinggif').remove(); //This will FAIL if the function is executed twice

答案 1 :(得分:1)

只需给它一个ID,然后将其删除:

jQuery('.replyhead').live('click',function(){
    var idval=jQuery(this).attr('id');
    jQuery(this).append('<img id="loadinggif" src="images/loading.gif"/>');

    jQuery.post('abc.php',{rack:idval},function(data) {
        jQuery('#r'+idval).html(data);      
        //now here i just need to remove that loading.gif       
        jQuery('#loadinggif').remove();
    });
});