Javascript jQuery对话框,关闭时隐藏对话框中的元素
我正在使用jQueryUI对话框函数,关闭后,我想隐藏对话框中的一个元素 我试图在对话框函数的关闭事件中执行此操作,但它不起作用。我猜测是因为该元素在关闭时不再存在 这是密码Javascript jQuery对话框,关闭时隐藏对话框中的元素,javascript,jquery,dialog,Javascript,Jquery,Dialog,我正在使用jQueryUI对话框函数,关闭后,我想隐藏对话框中的一个元素 我试图在对话框函数的关闭事件中执行此操作,但它不起作用。我猜测是因为该元素在关闭时不再存在 这是密码 // Dialog settings for our edit dialog's $("#myDialog").dialog({ autoOpen: false, close: function(event, ui){ $("#myDiv").hide(); } });
// Dialog settings for our edit dialog's
$("#myDialog").dialog({
autoOpen: false,
close: function(event, ui){
$("#myDiv").hide();
}
});
<div id="myDialog">
<div id="myDiv">This div should hide when the user closes the dialog, but it stays open when I re-open the dialog.</div>
</div>
//编辑对话框的对话框设置
$(“#myDialog”).dialog({
自动打开:错误,
关闭:功能(事件、用户界面){
$(“#myDiv”).hide();
}
});
当用户关闭对话框时,此div应该隐藏,但当我重新打开对话框时,它保持打开状态。
myDialog及其内部的所有内容(包括myDiv)在对话框关闭时应自动隐藏。您不需要编写任何额外的代码来实现这一点。如果不起作用,那么就有别的问题了。根据您问题中的代码示例,我的猜测是:
…
$(“#myDialog”)。对话框(“打开”)代码>
您可能只需要相对于对话框引用这些元素
$("#myDialog").dialog().find('#myDiv').hide()
-编辑-
close: function(event, ui){
$(this).find('#myDiv').hide()
}
对话框中的div没有随对话框一起隐藏?默认情况下,“我的”对话框中的div会显示,当我关闭对话框时,我希望它隐藏起来。你能提供你的CSS吗?但对我来说效果很好:我无法重现你的问题:我认为没有必要使用
find
方法,因为他已经使用了一个ID选择器,而且它是唯一的。现有的代码运行良好,除非他在代码中有另一个不正确的逻辑错误。当他将html放入对话框时,jquery正在克隆该html。这意味着该元素现在有两个id为的副本。如果您按id选择,jquery将只返回它找到的第一个副本。jquery不克隆内容,这将是创建对话框的“不明智”方式,正如我在上一篇评论中提到的,因为事件、样式等原因,请务必查看inspector;)页中有两个元素具有相同的id是一个可被视为“语法错误”的提示