Beim Erstellen von Webseiten habe ich immer die Funktion
benutzt %Vor%, um einen Verweis auf ein Elementobjekt zu erhalten. Es wurde mir vor kurzem vorgeschlagen, dass dies nicht notwendig ist, weil es bereits eine solche Variable gibt. Der Name entspricht der ID. Ich habe es getestet und es scheint zu funktionieren.
%Vor%Dieser Code funktioniert und es gibt "etwas Text" wie erwartet aus. Es gibt nur eine Warnung in der Firefox-Fehlerkonsole:
Element, das von ID / NAME im globalen Gültigkeitsbereich referenziert wird. Verwenden Sie stattdessen den WC3-Standard document.getElementById () ....
Ich benutze meistens jQuery, aber ich muss meinem Chef bei der Arbeit beweisen, oder ich muss ihm eine Schachtel Schokolade kaufen :-).
Irgendwelche Ideen, warum der obere Code nicht funktionieren sollte oder warum ist es eine sehr falsche Idee, ihn zu benutzen (Warnung im Firefox ist nicht genug) ???
Danke für Ihre Antworten
Irgendwelche Ideen, warum der obere Code nicht funktionieren sollte oder warum ist es eine sehr falsche Idee, ihn zu benutzen (Warnung im Firefox ist nicht genug) ???
Weil es nicht Standard ist (, aber nicht lange ). Obwohl einige Browser den globalen Variablen Elemente mit einer ID zuweisen, besteht keine Verpflichtung für sie (und nicht alle von ihnen). Ältere Versionen von Firefox zum Beispiel zeigen dieses Verhalten nicht. Es besteht auch die Gefahr, Kollisionen zu benennen .
Die Verwendung von document.getElementById()
stellt sicher, dass sich alle Browser genau gleich verhalten (na ja, mehr oder weniger hust ), wenn sie ein Handle für ein Element erhalten.
Siehe bobinces ausgezeichnete Antwort zu einer ähnlichen Frage für weitere Informationen.
Element, auf das mit ID / NAME in verwiesen wird globaler Geltungsbereich. Verwenden Sie den WC3-Standard document.getElementById () statt ....
Ihr aktueller Aufruf würde zu einer möglichen variablen Kollision führen.
Stellen Sie sich das vor:
%Vor% myID
ist jetzt nicht Ihr HTML-Element, sondern eine Variable, die 'foo' enthält. Beispiel.
Sie sollten immer document.getElementById () verwenden, weil es für die spezifische Funktion erstellt wurde, HTML-Elemente und keine JavaScript-Variablen abzurufen.
Tags und Links javascript getelementbyid