Возможный дубликат:
IE/Chrome: существуют ли здесь элементы дерева дерева DOM?
Я просто наткнулся на неожиданное, но полезное поведение в браузере: он создает переменную для каждого элемента с идентификатором в моем html-коде. Поэтому, когда у меня есть:
<div id="ohlala"> ... </div>
браузер, похоже, запускает этот код за сценой:
var ohlala = document.getElementById("ohlala");
поэтому я могу легко изменить текст этого элемента:
ohlala.innerHTML="test"
Попробуйте онлайн: http://jsfiddle.net/Facby/
Вопрос в том, зачем мне самому писать бит document.getElementById()
? Насколько переносимым является этот код? Я пробовал в Opera, FireFox и Chrome, и он работает! Могу ли я полагаться на эту функциональность? Всегда ли браузер создает переменные для каждого элемента с идентификатором? В этом случае я должен быть более осторожным в отношении имен, которые используются в моем javascript-коде, чтобы не противоречить аналогичным идентификаторам из HTML, правильно?