2017-02-22 15 views
8

От https://www.w3schools.com/tags/att_global_id.asp:Должен ли мы всегда указывать атрибут ID в HTML?

В HTML5, атрибут ID может использоваться на любой HTML-элемент (он будет проверять на любой HTML элемент, однако, это не обязательно полезно.).

Я делаю браузерное приложение для внутреннего использования, которое на одной из страниц не содержит CSS или JavaScript, ссылающихся на любой элемент страницы - просто таблицы.

Должен ли я указывать атрибут id для элементов, хотя нет (еще не нужно) его использовать? Или лучше всего использовать идентификаторы для будущего использования?

+3

'ID' предназначен для однозначного определения элемента либо в javascript, либо в css, либо в любой другой среде. Поэтому, если вы не нацеливаете элементы, которые вам не нужны, чтобы дать идентификаторы, но для вашего понимания вы можете дать значимые «идентификаторы» для чтения кода. – Mairaj

+3

Не нужно делать страницу более тяжелой (больше по количеству байтов), чем это необходимо. Просто используйте идентификаторы, когда они вам понадобятся. Поскольку вопрос в настоящее время сформулирован, у него, вероятно, есть хорошие шансы быть закрытыми как «в основном основанные на мнениях». – enhzflep

+6

Нет, им не нужно заниматься всем, и это не очень хорошая практика, чтобы надеть их на все. * Тем не менее *, они могут использоваться в качестве целей ссылки (например, более ранние «»), поэтому подумайте о том, чтобы положить их на вещи, к которым, возможно, захочется сослаться. – Ryan

ответ

22

только поставил требуетсяэлементы или атрибуты в HTML.

Вам не нужно указывать атрибут идентификатора, если он не требуется, и всегда можно добавлять атрибут идентификатора по мере необходимости.

Сохранение только необходимых элементов в html позволит легко читать, чистить, с минимальным размером и, следовательно, улучшать производительность и скорость.

+0

Что значит «обязательно» здесь? Требуется с помощью спецификации HTML, что означает, что отказ от них нарушит проверку? Или требуется в соответствии с потребностями вашего текущего приложения? Я согласен со вторым, но категорически не согласен с первым (по понятным причинам). –

+3

@Janus Да, поставьте только те, которые необходимы для нужд вашего текущего приложения. – poke

7

Идентификаторы полезны, если вы хотите выполнить сквозное тестирование с помощью инфраструктуры, например, Protractor, так как очень просто выбрать нужный элемент. Это необязательно, однако, из-за селекторов атрибутов CSS. Вы можете выбрать части CSS-класса в DOM, даже без присутствия идентификатора.

Идентификатор удостоверения личности проще? Конечно, но нужно ли отображать страницу? №

+1

В дополнение к этому ИМХО, полагаясь на идентификаторы для тестирования, проблематично, потому что по какой-то причине вам, возможно, придется поменять идентификатор, тогда тесты сломаются. То, что я считаю более надежным, - это добавить специальные классы CSS для тестирования (например, 'class =" uitest-contactlist ") и использовать это. Таким образом, тесты получают свои собственные, отдельные пробелы идентификаторов и лучше изолированы от изменений в HTML. – sleske

+0

@sleske рассматривает возможность использования атрибутов вместо классов: 'uitest =" contactlist "'. – Tibos

+0

@ Тибос: Хорошая точка. Однако это работает только в том случае, если и ваша внешняя технология, и ваш инструмент тестирования поддерживают пользовательские атрибуты (большинство из них, но не все). – sleske

3

Не нужно добавлять идентификаторы, если вы не собираетесь их использовать. Он просто добавит дополнительные байты на ваш сайт для загрузки. Я не понимаю, почему, по вашему мнению, они вам нужны, цитируемый текст, который вы добавили в свой вопрос, не говорит, что вы должны их использовать, он просто говорит, что они могут использоваться на любом элементе.

-2

Нет, это не обязательно. Это необходимо, только если вам нужно получить доступ к любому элементу управления уникально на веб-странице.

+0

Зависит от ваших потребностей. Если вы хотите идентифицировать позже, тогда вы должны пойти на это. –