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

Какие браузеры поддерживают getElementById?

Можно ли предположить, что getElementById работает в каждом браузере? Если нет, то какие из них/не поддерживают его?

4b9b3361

Ответ 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.