【发布时间】:2014-02-18 19:51:45
【问题描述】:
我有一个带有#page div 的文档,其中包含一个jQuery 对话框div #dia 和用于创建它的JS。像这样的:
<script>
var x;
</script>
<div id="page">
<div id="dia">bla</div>
<script>
$(function () { x = $('#dia').dialog(); });
</script>
</div>
到目前为止,这工作正常。但是,现在我需要删除 #page 的内容并用新内容替换它们。这个新内容将包含另一个 id 为 #dia 的 div 和相同的 JS 代码,以使其成为一个对话框。
这似乎不起作用。相反,看起来 x 仍然是替换之前的旧对话框。
我认为发生的事情是,当我创建对话框时,jQuery 将#dia div 移动到其他地方,因此当我替换 #page 的内容时,旧对话框仍然存在。然后,当我的 $('#dia').dialog() 代码运行时,它只是应用于旧 div,它已经是一个对话框。
我尝试在替换元素之前运行 $('#page').empty()、x.dialog('destroy') 和 x.remove(),但这些似乎都没有帮助。
我该如何正确地做到这一点?
【问题讨论】:
-
变量 x 被分配给全局窗口对象,对吧?所以当内容被删除或删除时它肯定仍然存在。
-
是的,它仍然存在。然而,一旦新的
标签: javascript jquery html dialog