在我的网络应用程序中,我有大约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
});
});
有关如何执行此操作的任何建议吗?
答案 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();
});
});