从这个问题回来
我能够解决问题,但现在的问题是它删除了div,所以当我访问该Div时它会给出错误。它给出了错误,因为当我打开对话框时,在关闭后删除它会正常工作
我不想删除jQuery('#divPopup')如果只有一个div存在。如果有多个jQuery('#divPopup'),那么remove()应该可以正常工作。
jQuery('.register_button_class').live('click',function () {
var iFrameobj = createIframe('',iframeUrl);
jQuery('#divPopup').html(iFrameobj);
createDialogWithClose(url,'#bodyId');
return false;
});
Dummy Div for Dialog Popup,当点击关闭Jquery Ui Popup时,这将被删除。 所以,当我说
时jQuery('#divPopup').html(iFrameobj);
它给出了错误。
<div id="divPopup"></div>
答案 0 :(得分:1)
我假设你的功能:
createDialogWithClose(url, '#bodyId');
关闭它时,从DOM中删除div id="divPopup"
。
我建议最初不要在你的标记中包含那个div,并改变你的函数来创建div并在运行时将它附加到DOM。然后删除就像你已经在做的那样。
jQuery('.register_button_class').live('click',function () {
var iFrameobj = createIframe('',iframeUrl);
jQuery("body").append("<div id='divPopup' />").html(iFrameobj);
createDialogWithClose(url,'#bodyId');
return false;
});
很难说您发布的这些代码可能会遇到其他问题,但是,jQuery("body").append("<div id='divPopup' />").html(iFrameobj);
每次运行该函数时都会创建divPopup。因此,当您关闭它并将其删除时,它将在下次单击该按钮时再次创建。
编辑:如何检查Div是否存在 -
if ($("#divPopup").length > 0){
// do something here
}
答案 1 :(得分:0)
我这样解决了
var length = jQuery('#divPopup').length;
if(length>1)
{
jQuery('#divPopup').dialog('destroy').remove();
}else
{
jQuery('#divPopup').dialog('destroy');
}