Heim >Web-Frontend >js-Tutorial >Warum unterscheidet sich der globale Element-ID-Zugriff in JavaScript zwischen den Browsern und was ist der Standard?
Frage:
Zugriff auf Elemente in Javascript durch Ihre IDs mithilfe der Punktnotation (a.method()) funktionieren global in Chrome, jedoch nicht in Firefox. Was ist das richtige Verhalten gemäß Web-Spezifikationen? Wie geht Chrome außerdem mit ID-Mehrdeutigkeiten und Sonderzeichen bei der ID-Übersetzung um?
Antwort:
Das Verhalten hinsichtlich des globalen Zugriffs auf Element-IDs variiert je nach konsultierter Spezifikation .
Browser haben dieses Verhalten aus Kompatibilitätsgründen in der Vergangenheit übernommen, wobei Internet Explorer es ursprünglich eingeführt hat. Firefox unterstützt es auch im Quirks-Modus.
Richtiges Verhalten:
Gemäß der WHATWG-HTML-Spezifikation sollten Elemente mit IDs global zugänglich sein. Es wird jedoch allgemein als schlechte Praxis angesehen, sich für die Elementreferenzierung auf den globalen Namespace zu verlassen.
Mehrdeutigkeitsbehandlung in Chrome:
Chrome verarbeitet derzeit keine Mehrdeutigkeiten zwischen globalen Variablen und Element-IDs gut. Wenn ein Element mit derselben ID wie eine globale Variable vorhanden ist, kann der Zugriff auf dieses Element über die globale Variable zu unerwartetem Verhalten führen.
ID-Übersetzung mit Sonderzeichen:
Auf Sonderzeichen in IDs kann mit der Methode getElementById() zugegriffen werden. Die Übersetzung dieser Zeichen in die globale Variablendarstellung ist jedoch in keiner Spezifikation explizit definiert.
Das obige ist der detaillierte Inhalt vonWarum unterscheidet sich der globale Element-ID-Zugriff in JavaScript zwischen den Browsern und was ist der Standard?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!