У меня есть веб-страница, которая показывает один предмет для продажи с кнопкой добавления в корзину. Страница использует много javascript, чтобы позволить пользователю настроить элемент. Теперь мне нужно изменить страницу, чтобы отображать несколько похожих элементов на одной странице, каждый дополнительный элемент также настраивается таким же образом пользователем. Javascript интенсивно использует идентификаторы в разметке для поиска элементов и манипулирования ими для обеспечения настройки элементов на стороне клиента.
Моя первая мысль - позволить html-разметке повторяться для каждого элемента, также позволяя идентификаторам повторяться, но добавляя дополнительный div с уникальным идентификатором вокруг разметки каждого элемента, чтобы отделить область повторяющихся идентификаторов, делая повторяющиеся идентификаторы. Идентификатор уникален в пределах содержащего div. Это должно позволить javascript оставаться относительно неизменным, за исключением того, что любые ссылки на повторяющиеся идентификаторы должны быть ограничены для конкретного идентификатора DIV ID
Имея в виду, что я хочу, чтобы результат был кроссбраузерно-совместимым, IE6 -IE9, Firefox 3+, Chrome, Safari, Opera, насколько разумно звучит этот подход? Будут ли некоторые браузеры запрещать повторяющиеся идентификаторы или будут вести себя плохо с ними? Любой совет относительно лучшего подхода или вещей, на которые я должен обратить внимание, будет очень приветствоваться.
Спасибо
----------------- добавление ----------------------------- -----------------------------------
Кажется, что подавляющее единодушие в том, что повторять идентификаторы - это действительно очень плохая идея, потому что, согласно стандартам, идентификаторы должны быть уникальными, и хотя некоторые / большинство браузеров поддерживают их сейчас, гарантии на будущее нет. Я полностью согласен со всеми вами.
Классовый подход, казалось, был лучшим путем, чтобы извлечь из полученных советов, но теперь похоже, что старые браузеры не будут его поддерживать, особенно IE6 и 7. Любой совет о том, как двигаться дальше?
----------------- добавление ----------------------------- -----------------------------------
В итоге getElementsByTagName, похоже, является наиболее совместимым способом продвижения вперед, охватывающим также широкий спектр мобильных браузеров.
Спасибо за все ваши советы.