Perché la mia finestra di dialogo dell'interfaccia utente jQuery non compare quando è div nidificata?



Answers

Question

Sto cercando di mostrare una finestra di dialogo (div) all'interno di un altro div. In questo modo, posso facilmente tenere tutti i miei dialoghi insieme.

La pagina è simile a questa:

<div id="bookshelf">
    <div id="login">dialog</div>
</div>

Ho aggiunto le proprietà necessarie ad esso:

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

e prova a farlo apparire:

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

e non lo farà.

Tuttavia, se cambio l'ultima riga a

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

Lo fa! Ma non voglio riferirmi direttamente, perché probabilmente qualcos'altro sulla mia pagina verrà chiamato "login", ad un certo punto. E volevo smettere di creare id molto lunghi come id = "lp_dialogs_bookshelf_login".

Sto facendo qualcosa di sbagliato qui? O dovrei semplicemente dimenticarmene e ricominciare a usare quei cattivi id?




Links