Ответ 1
Некоторые браузеры в режимах рендеринга некоторые создадут глобальную переменную для каждого элемента с идентификатором.
Он нестандартен, не будет работать повсюду и определенно не может зависеть.
Возможный дубликат:
document.getElementById( "someId" ) Vs. someId
Например, у меня есть элемент с атрибутом id="mybox"
, есть ли разница между его прямым вызовом с document.getElementById('mybox')
и mybox
, так как я вижу, что оба они работают одинаково в большинстве браузеров? Jsfiddle показывает живой пример http://jsfiddle.net/usmanhalalit/TmS3k/
Если нет никакой разницы, то почему document.getElementById('mybox')
так популярен, не так ли плохо называть mybox
?
Некоторые браузеры в режимах рендеринга некоторые создадут глобальную переменную для каждого элемента с идентификатором.
Он нестандартен, не будет работать повсюду и определенно не может зависеть.
Они не "работают одинаково". IE вводил идентификаторы элементов в глобальные переменные, другие браузеры скопировали их до некоторой степени, но не полностью его поддерживали. Он считал очень плохую идею, просто не делайте этого.
mybox.value
не работает в большинстве случаев. Я считаю, что IE является единственным браузером (и только некоторыми его версиями), который бы поддерживал его. В моем браузере Firefox я получаю сообщение об ошибке mybox not defined
в консоли.