#html #standards #web-standards
#HTML #стандарты #веб-стандарты
Вопрос:
Работаю над проектом, почти закончил и просто убираю HTML, и я узнаю, что на самом деле вам не разрешено иметь идентификатор, который является просто числом-
атрибут <a> «id» имеет недопустимое значение «567» Идентификатор атрибута имеет тип ID. Как описано выше, оно должно начинаться с буквы и не содержать пробелов
Good <a id="567" href="/index.html">
Good <a id="n567" href="/index.html">
Я могу просмотреть свой код и добавить букву, а затем удалить ее, когда значение используется в моем jQuery, но это было бы бесполезно, мне это действительно не нужно.
Есть ли причина, по которой я не должен использовать числа в качестве идентификаторов?
Комментарии:
1. Эти ответы напоминают мне родительское воспитание: «Но почему я не могу …?» — «потому что я так СКАЗАЛ !»
Ответ №1:
Это именно то, что говорится в спецификации.
Маркеры идентификатора и ИМЕНИ должны начинаться с буквы ([A-Za-z]) и могут сопровождаться любым количеством букв, цифр ([0-9]), дефисов («-«), подчеркиваний («_»), двоеточий («:») и точек («.»).
Хорошей новостью является то, что спецификация HTML 5 более мягкая:
id
Атрибут определяет уникальный идентификатор (ID) своего элемента. Значение должно быть уникальным среди всех идентификаторов в домашнем поддереве элемента и должно содержать хотя бы один символ. Значение не должно содержать пробелов.
Комментарии:
1. Впервые HTML5 пригодился мне! По-прежнему нет реальной причины, по которой HTML4 это не нравится, но я рад, что не делаю ничего плохого.
2. Я использовал числовые идентификаторы с 2002 года, и ни один браузер никогда не работал с ними должным образом. Я думаю, что такая спецификация настолько же хороша, насколько и бесполезна, и ее можно смело игнорировать.
Ответ №2:
Почему я не могу иметь числовое значение в качестве идентификатора элемента?
Потому что это то, что диктует спецификация HTML4.
С другой стороны, спецификация HTML5 устранила это требование.