Rolf B: Merkwürdig: Eine HTML-id ist in JS als Objekt bekannt?

Beitrag lesen

Hallo Linuchs,

jein.

Zu jeder ID gibt es eine globale Variable im window-Objekt. Das ist ein Kompatibilitätsfeature aus den 90ern, das es in den HTML Standard geschafft hat:

Hier.

Wenn, sollte man aber window.tonart nehmen. Denn blindlings an tonart zuzuweisen kann im Strikten Modus auf einen ReferenceError laufen, wenn es das Element nicht gibt. Es kann auch zu anderen Crashs führen, falls Du eine lokale Variable tonart hast und diese damit überschreibst.

Schlimmer noch: eine ID, die heute noch nicht Name einer window-Eigenschaft oder Methode ist, kann es morgen sein. Ständig kommt irgendwas hinzu. Und dann crasht auf einmel deine Seite und keiner weiß, warum.

Besser ist es aus meiner Sicht, mit der querySelector-Fassung zu arbeiten. Dann fragt sich keiner, wo die Variable herkommt.

Etwas anders ist es bei Formularelementen (was ein span nicht ist und nicht sein kann), die kann man über document.forms.formname.elementid ansprechen – sofern entsprechende Namen vorliegen.

Rolf

--
sumpsi - posui - obstruxi