id должен быть уникальным на одной странице.
Намерение присвоить элементу id
, в отличие от класса , означает:
этот элемент имеет уникальный идентификатор
Если два элемента на отдельных страницах представляют одни и те же данные, допустимо, чтобы они имели одинаковые id
, например:
page_1.html
<div id="title">About Me</div>
page_2.html
<div id="title">My Projects</div>
И наоборот, если элементы на двух страницах представляют разные данные, и вы присвоили им одинаковые id
, хотя они технически действительны, это может затруднить понимание вашего кода на более позднем этапе, например:
page_1.html
<div id="contact">My Name</div>
page_2.html
<div id="contact">click to contact</div>
В качестве примера сценария, когда можно использовать одно и то же id
для элементов с разными данными, я поделюсь следующим опытом на случай, если это поможет кому-нибудь подумать, хотя и в подобной ситуации ...
Недавно я пытался быть «умным», назначая динамически внедренный элемент на страницу с тем же id
(элемент <input>
в сценарии редактирования контента), независимо от его местоположения (программно он присутствовал только когда-либо). на странице один раз).
Плюсы этого подхода были:
- Одно определение стиля CSS
- Один HTML-шаблон для динамического элемента
- Ожидаемое сходство в последующей логике обработки событий
Однако я обнаружил, что мне всегда был нужен способ уникальной идентификации экземпляра, и поэтому я использовал атрибуты данных, которые указывали на уникальный экземпляр.
Это довольно быстро усложнилось, и я как бы пожалел о своем подходе и все еще удивляюсь, если бы назначение уникального id
сделало бы логику программы проще (но у меня нет времени на рефакторинг в данный момент).