为什么我的jQuery UI对话框在嵌套div时不显示?

我正在尝试显示一个div内的对话框(div).这样,我可以轻松地将所有对话框保持在一起.

页面看起来像这样:

我已经为它添加了所需的属性

$("div#bookshelf div#login").dialog({ autoOpen: false });

并尝试让它出现:

$("div#bookshelf div#login").dialog("open");

它不会.

但是,如果我将最后一行更改为

$("div#login").dialog("open");

它确实!但是我不想直接引用它,因为我的页面上的其他内容在某些时候也会被称为“登录”.而且我想停止制作像id =“lp_dialogs_bookshelf_login”那样长的id.

在这里做错了吗?或者我应该忘记它,并再次开始使用那些讨厌的id?

最佳答案
创建对话框时,它移动了这个:

在你的html文档的末尾,就在< / body>之前,所以选择器$(“div#bookshelf div#login”)找不到它……因为它不在里面了.

我会在所有情况下都使用div#login,因为它应该是唯一的,但为了让你的例子有效,你需要在创建对话框后移动它,如下所示:

$("div#bookshelf div#login").dialog({ autoOpen: false })
                            .parent().appendTo('#bookself');

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: &lt;span id=&quot...
jQuery 添加水印 &lt;script src=&quot;../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...