Подтвердить что ты не робот

В DOM node идентификатор чувствительности?

Является ли этот HTML действительным? Или id 'a' такой же, как id 'A'?

<div id="a">alpha</div>
<div id="A">Alpha</div>
4b9b3361

Ответ 1

Да. Он чувствителен к регистру. Значения атрибутов всегда чувствительны к регистру. Кажется, что разные браузеры делают разные вещи.

Обработка document.getElementById в браузерах различна:

  • Mozilla выполняет поиск с учетом регистра.

  • Internet Explorer: IE 8 и более поздние версии выполняют поиск с учетом регистра, в то время как IE 7 и более ранние выполняют поиск без учета регистра.

Ответ 2

Немного разъяснения здесь, поскольку все приведенные выше ответы являются лишь частично правильными. В контексте DOM и Java Script да, идентификаторы чувствительны к регистру. В CSS это не так, поскольку CSS полностью нечувствителен к регистру.

http://www.w3.org/TR/css3-selectors/#casesens

Синтаксис All Selectors нечувствителен к регистру в диапазоне ASCII (т.е. [a-z] и [A-Z] эквивалентны), за исключением частей, которые не находятся под контролем Selectors. Чувствительность к регистру имен языков документа, имен атрибутов и значений атрибутов в селекторах зависит от языка документа. Например, в HTML имена элементов не учитывают регистр, но в XML они чувствительны к регистру. Чувствительность префиксов пространства имен задана в [CSS3NAMESPACE].

Из-за этого плохой идеей является наличие двух идентификаторов в разных случаях, так как вы не сможете самостоятельно их идентифицировать по id.

Ответ 4

Он действителен для всех современных браузеров (IE 8+), но я не рекомендую его, потому что CSS не учитывает регистр. Лучше придерживаться одного случая, чтобы избежать возможной путаницы или ошибок с помощью CSS.