Heim >Web-Frontend >js-Tutorial >Warum unterscheidet sich der globale Element-ID-Zugriff in JavaScript zwischen den Browsern und was ist der Standard?

Warum unterscheidet sich der globale Element-ID-Zugriff in JavaScript zwischen den Browsern und was ist der Standard?

Linda Hamilton
Linda HamiltonOriginal
2024-12-13 02:06:08646Durchsuche

Why Does Global Element ID Access in JavaScript Differ Between Browsers, and What's the Standard?

Globaler Element-ID-Zugriff: Übereinstimmung mit Webstandards und Browserverhalten

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 .

  • HTML4-Spezifikation: Beschreibt dieses Verhalten nicht explizit.
  • WHATWG HTML-Spezifikation:Erfordert dieses Verhalten.

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn