Подтвердить что ты не робот

Атрибут name vs Id в HTML

Существуют ли какие-либо преимущества при использовании <div id="here" ... вместо <div name="here" ...

на которые они ссылаются как #here?

4b9b3361

Ответ 1

Вот некоторая разница между ними:

  • имя никогда не было атрибутом элемента div.
  • имя, используемое в элементах управления формой (элементы ввода, textarea, select, button), радикально отличается от атрибута id на именованных элементах. В этом случае атрибут name относится к тому, как данные маркируются при отправке на сервер, а несколько элементов могут иметь одно и то же имя. Атрибут id, с другой стороны, предназначен для идентификации одного уникального элемента для целей сценариев, стилей или адресации.
  • Использование атрибута name для других элементов, кроме элементов управления формами, было в HTML4.01 таким же, как идентификатор id, но оно допускало более широкий набор символов, чем атрибут id, и не было полностью контролировано так же. Из-за этой двусмысленности W3C решил отказаться или удалить атрибут имени для этих элементов в пользу однозначного атрибута id в XHTML. Это также связано с другой деталью XML, однако - только один атрибут любого элемента может иметь идентификатор типа, который не будет иметь места, если они позволят имени оставаться на элементе, но исправили проблемы двусмысленности.

  • Поскольку атрибут name не работал одинаково на этих двух наборах элементов, если лучше их удалять.

Короче говоря, для обратной совместимости вы должны использовать атрибут name и id как для обоих элементов, так и для элементов, кроме элементов управления форматом, если вы используете HTML4.01 или XHTML1.0 Transitional. Если вы используете XHTML1.0 Strict или позже, вы должны использовать только id. Для управления формой вы должны использовать имя для того, что вы хотите, чтобы форма отправлялась на сервер и для доступа к DOM0, и использовать только идентификатор для стилей, DOM1-3 для доступа или адресации.

Ответ 2

Это зависит от того, где вы собираетесь их использовать.

Обычно id элемента уникален, а несколько элементов могут совместно использовать один и тот же name.

Идентификатор ссылается как #here, имя ссылается как [name=here].

Ответ 3

Они не взаимозаменяемы, даже если они иногда появляются.

Имя должно существовать только в полях ввода формы. Это то, что этот тег приведет к тому, что браузер передаст в представлении имя поля. Как отметил Томалак в комментарии, DIV фактически не имеет атрибута Name.

ID - уникальный идентификатор для DOM, для управления или ссылки на тег; например, в Javascript.

Ответ 4

Атрибут "id" присваивает идентификатор связанному элементу. Этот идентификатор должен быть уникальным в документе и может использоваться для ссылки на этот элемент.

проверьте ссылки ниже

http://www.htmlquick.com/reference/tags/div.html

Ответ 5

То, о чем вы думаете, вероятно, является входным тегом. Он предлагает атрибут name, чтобы определить, какой вход является тем, что передается в форме.

id будет использоваться только для стилизации ввода, тогда как имя не будет.