$('.ui-dialog').empty().remove();
我认为这样会有效,但是我还有其他的对话框,我不想从DOM中删除,我认为这个方法会摆脱所有这些对话框.使用FireBUG检查页面显示,一旦Jquery从您提供的HTML中创建一个对话框,它将提供标准的包装器div,所有这些都包含相同的类.这些是:
ui-dialog ui-Widget ui-Widget-content ui-corner-all ui-draggable
所以它们是非常通用的,很难找到需要去的外部包装类的独特特性.我试图找到一种方法来删除我要删除的对话框,并离开其他对象.有任何想法吗?
解决方法 我知道这个话题很旧,但是我最近遇到了一样的情况.对于我的情况,我动态地创建对话框并使用.load(). jquery真的做的很古怪的东西与DOM,并导致我很大的麻烦.关闭后DOM中留下了不必要的“垃圾”,有时候删除对话框.我无法删除它里面的“div”,因为我实际上使用div的内容来维护一些状态信息.我想出了以下代码,并以有限的方式进行了测试,以验证它是否有效.它似乎删除了jquery留下的所有不必要的行李.我甚至测试它打开几个窗口,并监视过程中DOM的状态,以确保每个对话框的状态都保持正确.我将在这里发布整个代码(除了加载的对话框,只不过是其中包含一些代码的div.<HTML> <head> <link href="CSS/redmond/jquery-ui-1.8.1.custom.CSS" type="text/CSS" rel="stylesheet" media="screen" /> <script src="Js/jquery-1.4.2.min.Js" type="text/JavaScript"></script> <script src="Js/jquery-ui-1.8.1.custom.min.Js" type="text/JavaScript"></script> <script type="text/JavaScript"> $(document).ready (function () { $("#openDialog").click (function () { $("<div></div>") .load ("loadDialogTest.PHP") .appendTo ($("#containingdiv")) .dialog ({ autoOpen: 'false',Title: 'Test This!',close: function () { $(this).dialog ('destroy').remove (); } }).dialog ('open'); }); }); </script> </head> <body> <a href="#" ID="openDialog">Open it</a> <div ID="containingdiv"> </div> </body> </HTML>总结
以上是内存溢出为你收集整理的如何从DOM中删除JQuery对话框全部内容,希望文章能够帮你解决如何从DOM中删除JQuery对话框所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)