В DOM node идентификатор чувствительности?
Является ли этот HTML действительным? Или id 'a' такой же, как id 'A'?
<div id="a">alpha</div>
<div id="A">Alpha</div>
Ответы
Ответ 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.
Ответ 3
Хорошо, вы можете легко это проверить... Но да, они чувствительны к регистру.
Ответ 4
Он действителен для всех современных браузеров (IE 8+), но я не рекомендую его, потому что CSS
не учитывает регистр. Лучше придерживаться одного случая, чтобы избежать возможной путаницы или ошибок с помощью CSS
.