Macht das ID-Attribut von DOM-Baumelementen sie zu globalen Eigenschaften?
Insbesondere Browser wie Internet Explorer und Chrome, HTML-Elemente mit einem Auf die zugewiesene ID kann als Variablenname oder Eigenschaften des Fensterobjekts zugegriffen werden. Ein
Dieses Verhalten ist jedoch nicht beabsichtigt und sollte als potenzielle Gefahr betrachtet werden. Wie in der ausführlichen Antwort dargelegt, fügen Browser benannte Elemente als Eigenschaften des Dokumentobjekts (und im Fall des IE auch des Fensterobjekts) hinzu, was eine schlechte Entwurfsentscheidung darstellt, da dadurch Elementnamen mit den vorhandenen Eigenschaften dieser Objekte in Konflikt geraten können Objekte.
Um dieses Problem zu vermeiden, wird dringend empfohlen, für den Elementabruf weiterhin document.getElementById zu verwenden. Diese Methode wird weitgehend unterstützt und sorgt für Klarheit in Ihrem Code. Wenn der längere Name ein Problem darstellt, können Sie eine kürzere Wrapper-Funktion erstellen, anstatt sich auf das unbeabsichtigte Verhalten der ID-zu-Element-Suche zu verlassen.
Es ist wichtig zu beachten, dass die Praxis, benannte Elemente global zugänglich zu machen -ähnliche Variablen werden in HTML5 formalisiert, einschließlich der Platzierung solcher Elemente sowohl in Dokument- als auch in Fenstereigenschaften. Trotz der Standardisierung bleibt dies jedoch eine Praxis, die am besten zugunsten robusterer und eindeutigerer Methoden wie document.getElementById.
vermieden werden sollteDas obige ist der detaillierte Inhalt vonSind HTML-Element-IDs globale Eigenschaften in JavaScript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!