Зачем добавлять идентификатор в свои теги HTML?
Простой вопрос: почему мы должны добавить id
в наши HTML-тэги, если они работают отлично без них? Я знаю, что одним из их применений является возможность навигации по странице через хэштеги (#
), но есть ли для них какое-то другое применение?
9 ответов
Они чаще всего используются для уникальной идентификации элементов для стилей (CSS) и сценариев (JavaScript и др.).
Но если вы спрашиваете о HTML и только HTML, то одним примером, где полезны декларативные идентификаторы, является <label>
с этими <input>
, <button>
или же <textarea>
управление через его for
атрибут:
<label for="ex">Example field:</label>
<input type="text" name="ex" id="ex">
Без назначения этого атрибута активация метки ничего не делает, но когда вы соединяете оба элемента вместе, используя for
а также id
активация метки приводит к тому, что ее элемент управления получает фокус.
Другой способ связать метку формы с ее элементом управления - поместить ее в метку:
<label>
Example field:
<input type="text" name="ex">
</label>
Но это не всегда соответствует структуре формы или страницы, поэтому в качестве альтернативы предлагается ссылка на идентификатор.
Другие обстоятельства, когда id
Атрибут выполняет функцию, подробно освещенную в ответе Алохчи.
Использование id
атрибуты в HTML
- В качестве цели для идентификатора фрагмента в URL.
- В качестве цели на элементах управления формы для
for
атрибут на<label>
а также<output>
элементы. - Как цель на
<form>
элементы дляform
атрибут на форме связанных элементов. - В качестве цели для ссылки на элемент через микроданные
itemref
приписывать. - В качестве цели для ссылок на элементы через некоторые атрибуты ARIA, включая
aria-describedby
,aria-labelledby
и 4 других. - Как цель на
<th>
элементы дляheaders
атрибут на<td>
а также<th>
элементы. - Как цель на
<menu>
элементы дляcontextmenu
приписывать. - Как цель на
<datalist>
элементы дляlist
атрибут на<input>
элементы. - Как часть ссылки на хэш-имя
<map>
элементы дляusemap
атрибут на<img>
а также<object>
элементы. - Как идентификатор элемента в селекторе CSS
- Как идентификатор элемента для обработки JavaScript
Идентификаторы используются для доступа к вашим элементам в CSS и JavaScript. Строго говоря, идентификаторы должны однозначно идентифицировать элемент. Вы также можете использовать атрибуты класса для определения групп элементов.
Атрибут id предоставляет уникальный идентификатор для элемента в документе. Он может использоваться элементом для создания гиперссылки на этот конкретный элемент.
Этот идентификатор может также использоваться в коде CSS в качестве ловушки, которую можно использовать в целях стилизации, или с помощью кода JavaScript (через объектную модель документа или DOM) для внесения изменений или добавления поведения в элемент путем ссылки на его уникальный идентификатор.
см. http://reference.sitepoint.com/html/core-attributes/id
Для получения дополнительной информации о классе см. здесь: http://reference.sitepoint.com/html/core-attributes/class
AFAIK, они используются для уникальной ссылки на тег. И облегчает вам обращение к тегу.
Я тоже предпочитаю class
для стилизации с помощью CSS, но иногда вам нужен элемент, чтобы быть уникальным. По причинам доступности вы используете id
для ввода элементов, чтобы "подключить" его label
к нему с помощью for
приписывать. А для Javascript гораздо проще выбрать элемент, если он получил id
приписывать.
Вы можете использовать идентификаторы, чтобы получить доступ к вашим элементам div из javascript, CSS и jquery. Если вы не используете идентификаторы, вам будет очень трудно взаимодействовать со своей HTML-страницей из JS.
Он предназначен для того, чтобы помочь вам идентифицировать ваш элемент в коде java-скрипта. Функция getElementByID в java-скрипте дает дескриптор элемента с определенным идентификатором для вас.
var someElement = document.getelementById("someID");
// do whatever with someElement;
Основная причина, по которой я использую идентификаторы для своих элементов HTML, заключается в том, что их выбор происходит быстрее, в Javascript с getElementById
и в CSS, используя #id
учебный класс.
Конечно, я не говорю, что это всегда хорошая идея, особенно в CSS, где наличие классов, основанных на идентификаторах, может вызвать большую избыточность, это только одна из причин
Что ж, в большинстве случаев id используется для других вещей, связанных с боковой навигацией по страницам, что является очень общим. Вот некоторые из милых применений атрибута id:
- Справочник по сценариям, Выбор элементов для применения сценариев,
- Выбор таблицы стилей, выбор элементов для стиля
- Именованные якоря для ссылок, которые вы называете навигацией по страницам.
Просто потому, что в большинстве случаев вы захотите что-то сделать с вашим контентом в любом теге, хорошо поставить идентификатор, то есть атрибут id.