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