当ajax操作失败时,我创建一个包含错误的新div,然后将其显示为一个对话框。当对话框关闭时,我想完全销毁并再次删除div。我该怎么做呢?我的代码目前看起来像这样:
$('<div>We failed</div>')
.dialog(
{
title: 'Error',
close: function(event, ui)
{
$(this).destroy().remove();
}
});
当我运行此命令时,对话框正确显示,但当我关闭它时,该对话框在html中仍然可见(使用FireBug)。这里我漏掉了什么?我忘了什么吗?
更新:刚刚注意到我的代码在firebug控制台中给了我一个错误。
此$(
).destroy不是函数
有谁能帮我吗?
更新:如果我只执行$(this).remove()
操作,则该项目将从html中删除。但是它是从DOM中完全删除的吗?或者我是不是也需要先调用销毁函数?
发布于 2010-05-19 10:48:32
$(this).dialog('destroy').remove()
这将销毁对话框,然后从DOM中完全删除“托管”该对话框的div
发布于 2010-05-19 10:51:08
为什么要删除它?
如果是为了防止创建多个实例,那么只需使用以下方法...
$('#myDialog')
.dialog(
{
title: 'Error',
close: function(event, ui)
{
$(this).dialog('close');
}
});
当错误发生时,你会这样做...
$('#myDialog').html("Ooops.");
$('#myDialog').dialog('open');
发布于 2013-10-23 13:18:01
$(dialogElement).empty();
$(dialogElement).remove();
这将真正修复它。
https://stackoverflow.com/questions/2864740
复制相似问题