Повторяющиеся идентификаторы в html-документе ... как плохая идея, если они ограничены областью div с уникальным идентификатором?

У меня есть веб-страница, на которой показан единственный товар для продажи с кнопкой добавления в корзину. На странице используется много javascript, чтобы пользователь мог настраивать элемент. Теперь мне нужно изменить страницу, чтобы на одной странице отображалось несколько одинаковых элементов, каждый дополнительный элемент также настраивается пользователем таким же образом.JavaScript интенсивно использует идентификаторы в разметке, чтобы находить элементы и манипулировать ими, чтобы обеспечить настройку элементов на стороне клиента.

Моя первая мысль - позволить html-разметке повторяться для каждого элемента, также позволяя идентификаторам повторяться, но добавить дополнительный div с уникальным идентификатором вокруг каждой разметки элементов, чтобы разделить область повторяющихся идентификаторов, делая повторяющиеся Уникальный идентификатор в содержащем div. Это должно позволить javascript оставаться относительно неизменным, за исключением того, что любые ссылки на повторяющиеся идентификаторы должны быть привязаны к определенному идентификатору DIV

. Помня о том, что я хочу, чтобы результат был кроссбраузерным, IE6 -IE9, Firefox 3+, Chrome, Safari, Opera, насколько разумным звучит такой подход? Будут ли некоторые браузеры запрещать повторные идентификаторы или плохо с ними работать? Любой совет относительно лучшего подхода или вещей, на которые я должен обратить внимание, будет очень приветствоваться. Спасибо

----------------- приложение ---------------------------- ------------------------------------

Похоже, подавляющее большинство согласны с тем, что это действительно действительно плохая идея повторять идентификаторы в основном потому, что стандарты говорят, что идентификаторы должны быть уникальными, и хотя некоторые / большинство браузеров поддерживают его сейчас, нет никаких гарантий на будущее. Я полностью согласен со всеми вами в этом.

Классовый подход казался лучшим путем, исходя из полученных советов, но теперь похоже, что старые браузеры его не поддерживают, особенно IE6 и 7.Есть какие-нибудь советы, как двигаться дальше отсюда?

----------------- приложение -------------------- --------------------------------------------

На балансе getElementsByTagName кажется наиболее совместимым способом продвижения, охватывающим также хороший спектр мобильных браузеров.

Спасибо за все ваши советы.

5
задан Rich 10 February 2012 в 20:36
поделиться