Какие символы позволяются в идентификаторах DOM? [дубликат]

Это - вообще только проблема при передаче ввода данных пользователем оценки.

107
задан Community 23 May 2017 в 10:31
поделиться

5 ответов

На самом деле существует разница между HTML и XHTML. Поскольку XHTML - это XML, применяются правила для идентификаторов XML:

Значения типа ID ДОЛЖНЫ соответствовать продукту Name.

 NameStartChar :: = ":" | [AZ] | "_" | [az] | [# xC0- # xD6] |
[# xD8- # xF6] | [# xF8- # x2FF] |
[# x370- # x37D] | [# x37F- # x1FFF] |
[# x200C- # x200D] | [# x2070- # x218F] |
[# x2C00- # x2FEF] | [# x3001- # xD7FF] |
[# xF900- # xFDCF] | [# xFDF0- # xFFFD] |
 [# x10000- # xEFFFF]

NameChar :: = NameStartChar | "-" | "." | [0-9] | # xB7 |
[# x0300- # x036F] | [# x203F- # x2040]

Источник: Extensible Markup Language (XML) 1.0 (пятое издание) 2.3

Для HTML применяется следующее:

id = name [CS]
Этот атрибут присваивает имя элементу. Это имя должно быть уникальным в документе.

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

Источник: Спецификация HTML 4, глава 6, идентификатор идентификатора

112
ответ дан 24 November 2019 в 03:42
поделиться

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

22
ответ дан 24 November 2019 в 03:42
поделиться

Если мы понимаем название вашего вопроса буквально, то правила HTML и XHTML не применяются. Вместо этого соответствующая спецификация - это DOM.

Если взять DOM уровня 3 в качестве источника и предположить, что под «DOM ID» вы подразумеваете атрибут с установленным флагом «ID», тогда значение будет «DOMString», символы которого могут быть любыми UTF-16. кодируемый символ.

16-битная единица

Базовая единица DOMString. Это указывает на то, что индексация на DOMString происходит в единицах по 16 бит. Это должно не следует понимать неправильно, чтобы означать, что DOMString может хранить произвольные 16-битные единицы. DOMString - это символ строка в кодировке UTF-16; это означает что ограничения UTF-16 как а также другие соответствующие ограничения на символьные строки должны поддерживаться. Один символ, для пример в виде числового ссылка на символ, может соответствовать один или два 16-битных модуля.

Конечно, это, вероятно, не то, что вам нужно, и этот ответ Людвига Вайнциерля - это то, что вы искали. Однако разумно понимать, что не все модели DOM могут быть сериализованы как HTML или XHTML и что DOM имеет собственный набор правил.

9
ответ дан 24 November 2019 в 03:42
поделиться

Согласно спецификациям HTML 4.0

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

5
ответ дан 24 November 2019 в 03:42
поделиться

Для правильного html или xhtml Филипп прав. Никаких пробелов или специальных символов (конечно, тех, которые не требуют экранирования) для атрибутов id. Всего 52 символа алфавита, прописные и строчные буквы, цифры 0–9, дефисы ("-"), подчеркивания ("_"), двоеточия (":") и точки (".")

{{1 }}
2
ответ дан 24 November 2019 в 03:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: