Итак, я провел некоторое исследование, и довольно ясно, что идентификатор должен быть уникальным в DOM. Это моя проблема, и мне любопытно, что самое лучшее решение для этого:Duplicating IDs JQuery
Я использую вкладки jQueryUI, а также пользовательское меню и ajax для загрузки определенных страниц в область содержимого без повторной рендеринга браузера. На некоторых из этих подстраниц пользователь может открыть всплывающее окно (выполненное с помощью диалога jQueryUI) для редактирования информации о клиенте. Поскольку они загружают серверную страницу, в каждом месте, где будет сформирована эта форма, она использует те же идентификаторы.
Я обнаружил, что существует несколько способов закрыть диалоговое окно, не удаляя его из DOM. Это вызывает замешательство позже, когда оно или другая форма открыта в другом месте, и теперь в DOM присутствуют конфликтующие идентификаторы. Я работаю над отслеживанием всех способов закрытия диалога и обеспечения их замены .dailog («destroy»). Remove(), чтобы убедиться, что они удалены из DOM, но я хочу быть уверенным, что решение здесь является доказательством дурака в случае, если кто-то остается на странице.
Мои две непосредственные мысли:
1.) Создание случайной строки для добавления к идентификатору каждого элемента формы, когда форма оказывается, полностью сохраняя уникальность идентификатора.
2.) Используйте более определенные селекторы при получении данных формы, то есть просматривая его всплывающее окно, которое было создано, страницу, из которой он был создан, а затем вкладку, в которой она находится, и не беспокоиться о ней id уникальности.
Первое кажется уродливым, и теоретически вы можете случайно продублировать строку и все еще сталкиваться с проблемой. Позднее просто чувствует себя громоздким и уродливым для меня. Есть ли вариант, который мне не хватает? Какова наилучшая практика, когда дело касается идентификаторов, которые могут быть дублированы таким образом?
Спасибо, Эрик
Идентификаторы должны быть всегда уникальными. –
Один из способов сделать это - не использовать 'ID', если нет другого пути. – lshettyl
Итак, я избегаю использования идентификатора. Как же я могу выбрать правильный элемент, не связанный болезненно с структурой спецификации, как предлагает GoogleHireMe ниже? – EpicWally