getElementById в IE9

Кто-нибудь может мне пояснить, как такое вообще может быть?

alert(document.getElementById('ordinance_law_coverage').id);
выводит мне строку ordinance_law_coverage0.

На странице есть элемент с id «ordinance_law_coverage».
Также есть элемент с id «ordinance_law_coverage0» и атрибутом name — «ordinance_law_coverage».

То есть получается, что в IE9 getElementById может в каких-то случаях находить элемент по name вместо id?
  • Вопрос задан
  • 2765 просмотров
Пригласить эксперта
Ответы на вопрос 4
Gesper
@Gesper Автор вопроса
Ага, нашел ответ. msdn.microsoft.com/en-us/library/ms536437(v=vs.85).aspx
getElementById: Returns the first object with the specified ID or NAME.
Это же надо было до такого догадаться.
Ответ написан
MTonly
@MTonly
Веб-разработчик с 2002 года
Какой элемент имеет у вас атрибут name и зачем?
В каком режиме X-UA-Compatible у вас IE9?
Ответ написан
Комментировать
Gesper
@Gesper Автор вопроса
В моем конкретном случае Name у чекбокса. К нему прилагается input type=hidden элемент у которого ID соответствует нейму чекбокса. В hidden хранится значение связанное с чекбоксом. Поменять схему всего этого чуда не представляется возможным на текущий момент(проект старый и большой, легаси штучки и все такое).

То же самое поведение getElementById проявляется и в ИЕ7 и в ИЕ8. Судя по всему, МС считает, сто это нормальное поведение.
Ответ написан
MTonly
@MTonly
Веб-разработчик с 2002 года
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы