Каковы юридические символы для идентификатора элемента HTML?

Какие символы можно использовать в идентификаторе для элемента HTML?

Например:

<SPAN id="section[5]" ...>

(Вернее, я должен придерживаться определенных символов, чтобы убедиться, что id работает во всех основных браузерах/JavaScript-движке).

Ответы

Ответ 1

В HTML5 единственными ограничениями являются то, что идентификатор должен быть уникальным в документе, содержать хотя бы один символ и не содержать пробелов. См. http://www.w3.org/TR/2014/REC-html5-20141028/dom.html#the-id-attribute

Как указывали другие ответы, HTML 4 более ограничительный и указывает, что

Идентификаторы ID и NAME должны начинаться с буквы ([A-Za-z]), за которой может следовать любое количество букв, цифр ([0-9]), дефис ( "-" ), подчеркивание ( "_" ), двоеточие ( ":" ) и периоды ( "." ).

Ответ 2

В HTML 4 атрибут id содержит токен NAME, который :

Идентификаторы идентификатора и NAME должны начинаться с письмо ([A-Za-z]) и может быть выполнено любым количеством букв, цифр ([0-9]), дефис ( "-" ), подчеркивание ( "_" ), двоеточия ( ":" ) и периоды ( "." ).

Как указано в предыдущем сообщении, в зависимости от вашей реализации у вас могут возникнуть проблемы с двоеточиями и периодами вместе с другими: Каковы допустимые значения для атрибута id в HTML?

Ответ 3

Из http://www.w3.org/TR/html4/types.html:

Идентификаторы идентификатора и NAME должны начинаться с письмо ([A-Za-z]) и может быть выполнено любым количеством букв, цифр ([0-9]), дефис ( "-" ), подчеркивание ( "_" ), двоеточия ( ":" ) и периоды ( "").

Ответ 4

Все приведенные выше ответы + ID должны быть уникальными

Ответ 5

Из спецификация HTML4:

Идентификаторы ID и NAME должны начинаться с буквы ([A-Za-z]), за которой может следовать любое количество букв, цифр ([0-9]), дефис ( "-" ), подчеркивание ( "_" ), двоеточие ( ":" ) и периоды ( "." ).

Ответ 6

на самом деле я могу успешно использовать °, например,

< span id = "test °" /" >

Кажется, разрешено, и у меня нет проблем с jQuery или другими способами для извлечения элементов dom с помощью селекторов. Возможно, другие символы работают, но я не тестировал их всех.