微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么我的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');

原文地址:https://www.jb51.cc/jquery/428487.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐