Я пытаюсь показать диалог (div), который находится внутри другого div. Таким образом, я могу легко держать все свои диалоги вместе.Почему мой диалог jQuery UI не появляется, когда он является вложенным?
страница выглядит примерно так:
<div id="bookshelf">
<div id="login">dialog</div>
</div>
я добавил необходимые свойства для него:
$("div#bookshelf div#login").dialog({ autoOpen: false });
и попытаться сделать его показать:
$("div#bookshelf div#login").dialog("open");
и это не будет.
Однако, если изменить последнюю строку
$("div#login").dialog("open");
Это делает! Но я не хочу ссылаться на него напрямую, потому что в какой-то момент возможно что-то еще на моей странице будет называться «login». И я хотел прекратить делать эти очень длинные id как id = "lp_dialogs_bookshelf_login".
Я делаю что-то неправильно здесь? Или я должен просто забыть об этом и снова начать использовать эти неприятные идентификаторы?
Ничто другое на странице должны имеют «id» из «login». Весь смысл атрибута id означает, что он представляет собой один и только один элемент на странице. –
Согласен. Вы должны использовать атрибуты 'class' вместо' id '. – Prutswonder
Вы правы, но он просто «чувствовал» настолько неправильно использовать эти длинные id. Однако я начну делать это и напрямую ссылаюсь на диалог. Спасибо! – Heras