Какие браузеры поддерживают getElementById?
Можно ли предположить, что getElementById
работает в каждом браузере? Если нет, то какие из них/не поддерживают его?
Ответы
Ответ 1
Все браузеры поддерживают это, однако одна проблема, с которой я столкнулся в IE6 & 7 (добавление к ответу @Esailija)
Сделайте это:
<input type="text" name="address" id="address" value="5th Avenue" />
Не делайте этого:
<input type="text" name="full_address" id="address" value="5th Avenue" />
Причина, по которой вы должны это сделать, заключается в том, что в Internet Explorer, если вы пытаетесь настроить таргетинг на элемент с помощью getElementById
, по какой-то причине браузер будет искать атрибут имени определенных элементов на странице, в дополнение к идентификатору. Предполагая, что weve использовал неправильный метод для кодирования значений имени и идентификатора, приведенные ниже коды кода получат тот же результат в IE7:
var fullAddress = document.getElementById("full_address");
alert(fullAddress.value);
var fullAddress = document.getElementById("address");
alert(fullAddress.value);
Ответ 2
Он поддерживается во всех существующих браузерах. Он был частью DOM с уровня DOM 1. Таким образом, каждый браузер, поддерживающий модуль объекта документа (начиная с IE 5.5), должен поддерживать этот метод.
Источник: MDN (document.getElementById
)
Ответ 3
Хорошо это поддерживалось очень широко, но по крайней мере две ошибки, которые я знаю (Оба из источника jQuery):
- Blackberry возвращает элементы, которые не находятся в dom
- Элементы возвращаются, если их
name
соответствует id (версии Opera, IE.. неизвестны)
Ответ 4
Поскольку вы просили минимальные требования к работе, которые я предполагаю, это самый ранний браузер, где вы можете ожидать его работы, пожалуйста, ознакомьтесь с этой страницей:
http://www.quirksmode.org/dom/w3c_core.html
В соответствии с этим вы находитесь на рискованной почве pre IE-8 (говорят "почти" ) и хорошо знакомы с FireFox, Safari, Chrome и Opera.