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

В чем разница между document.getElementById('mybox') и mybox?

Возможный дубликат:
document.getElementById( "someId" ) Vs. someId

Например, у меня есть элемент с атрибутом id="mybox", есть ли разница между его прямым вызовом с document.getElementById('mybox') и mybox, так как я вижу, что оба они работают одинаково в большинстве браузеров? Jsfiddle показывает живой пример http://jsfiddle.net/usmanhalalit/TmS3k/

Если нет никакой разницы, то почему document.getElementById('mybox') так популярен, не так ли плохо называть mybox?

4b9b3361

Ответ 1

Некоторые браузеры в режимах рендеринга некоторые создадут глобальную переменную для каждого элемента с идентификатором.

Он нестандартен, не будет работать повсюду и определенно не может зависеть.

Ответ 2

Они не "работают одинаково". IE вводил идентификаторы элементов в глобальные переменные, другие браузеры скопировали их до некоторой степени, но не полностью его поддерживали. Он считал очень плохую идею, просто не делайте этого.

Ответ 3

mybox.value не работает в большинстве случаев. Я считаю, что IE является единственным браузером (и только некоторыми его версиями), который бы поддерживал его. В моем браузере Firefox я получаю сообщение об ошибке mybox not defined в консоли.