Существует довольно много вопросов о переполнении стека, касающихся id
против class
, но эти вопросы почти всегда касаются CSS - и общепринятым ответом является использование классов для стилизации определенного набора элементов и идентификаторов для конкретные случаи. Имеет смысл, достаточно справедливо.
Тем не менее, я обнаружил, что по мере того, как я делаю все больше и больше Javascript / jQuery / ajax, этот подход начинает становиться менее четким, и я нахожу ситуации, когда семантически элементам следует присваивать идентификаторы, но потому что может быть несколько я должен использовать классы.
Вот пример того, что я имею в виду:
Взгляните на панель инструментов в редакторе вопросов уценки в Stack Overflow - у каждой кнопки есть идентификатор для уникальной идентификации. Имеет смысл - это одна кнопка, которая выполняет определенную функцию, и, вероятно, к ней подключен скрипт на основе этого идентификатора.
Теперь представьте, что я создаю многофункциональное веб-приложение, и есть страница, на которой есть две вкладки с редактором уценки. Означает ли это, что кнопки панели инструментов теперь должны использовать классы до , идентифицирующие их?
Это только кажется неправильным.
Другой пример: я работаю над сайтом фотогалереи, на каждой фотографии которого есть небольшая панель инструментов. Конвенция гласит, что, поскольку есть несколько экземпляров этих кнопок, я должен использовать классы. Действительно?
Так что мои вопросы ...
- Если я совершу преступление, связанное с дублированием идентификаторов на странице, то какие браузеры действительно сломаются?
- Для браузеров, где это не работает, это просто CSS-стиль, который сломается, или селекторы jQuery также сломаются.
- Неужели так плохо использовать дубликаты идентификаторов в описанных случаях.