В этом разница между HTML4 и HTML5.
Как сказано в ответе , идентификаторы в HTML4 строго ограничивали то, что разрешено.
Действительный идентификатор в HTML4 согласно spec ,
должен начинаться с буквы ([A-Za-z])
и может сопровождаться любым количеством букв, цифрами ([0-9])
, дефисами ("-")
, подчеркиванием ("_")
, двоеточиями (":")
и точками (".")
.
HTML5 намного более расслаблен с идентификаторами. Действительный идентификатор в соответствии с HTML5 spec ,
должен быть уникальным среди всех идентификаторов в домашнем поддереве элемента и содержать хотя бы один символ. Значение не должно содержать пробелов.
Поскольку браузеры переходят на HTML5 (большинство из них уже реализовали эти основы), вы можете обнаружить, что большинство современных браузеров будут придерживаться HTML5-способа определения идентификаторов. Тем не менее, лучший способ - это проверить его или получить подтверждающую документацию, чтобы точно знать, какие браузеры работают и не работают.