muss ich wirklich getElementById () aufrufen? [Duplikat]

Mögliche Duplikate:
IE / Chrome: Sind DOM-Baumelemente hier globale Variablen?

Ich bin gerade auf ein unerwartetes, aber nützliches Verhalten im Browser gestoßen: Es erstellt eine Variable für jedes Element, das eine ID in meinem HTML-Code enthält. Also wenn ich habe:

<div id="ohlala"> ... </div>

Der Browser scheint diesen Code hinter den Kulissen auszuführen:

var ohlala = document.getElementById("ohlala");

So kann ich den Text dieses Elements leicht ändern:

ohlala.innerHTML="test"

Probieren Sie es online aus:http://jsfiddle.net/Facby/ Die Frage ist: warum sollte ich das schreiben müssen?document.getElementById() mich gebissen? Wie portabel ist dieser Code? Ich habe es in Opera, FireFox und Chrome versucht und es funktioniert! Kann ich mich auf diese Funktionalität verlassen? Erstellt der Browser immer Variablen für jedes Element mit der ID? In diesem Fall muss ich vorsichtiger mit den Namen umgehen, die in meinem Javascript-Code verwendet werden, um nicht mit ähnlichen IDs aus dem HTML-Code in Konflikt zu geraten, oder?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage