Могут ли два элемента на двух разных страницах иметь одинаковый идентификатор в HTML / CSS? - PullRequest
0 голосов
/ 11 ноября 2018

Можно ли иметь элементы с одинаковым идентификатором на двух разных страницах?

Как работают селекторы jQuery в таких случаях?

Ответы [ 2 ]

0 голосов
/ 11 ноября 2018

Если каждый из элементов с одинаковым идентификатором находится на своей странице, тогда jQuery будет видеть только один элемент за раз, поскольку в каждый контекст страницы существует только один такой элемент с таким идентификатором. Это так просто.

0 голосов
/ 11 ноября 2018

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 сделало бы логику программы проще (но у меня нет времени на рефакторинг в данный момент).

...