Maison > interface Web > js tutoriel > Les ID d'éléments HTML sont-ils des propriétés globales en JavaScript ?

Les ID d'éléments HTML sont-ils des propriétés globales en JavaScript ?

DDD
Libérer: 2024-12-25 02:14:08
original
381 Les gens l'ont consulté

Are HTML Element IDs Global Properties in JavaScript?

L'attribut ID des éléments de l'arborescence DOM en fait-il des propriétés globales ?

Dans les navigateurs en particulier comme Internet Explorer et Chrome, les éléments HTML avec un L'ID attribué est accessible en tant que noms de variables ou propriétés de l'objet fenêtre. Par exemple, un

L'élément avec l'ID "example" peut être récupéré en utilisant soit example.innerHTML ou window["example"].innerHTML.

Cependant, ce comportement n'est pas prévu et doit être considéré comme un piège potentiel. Comme indiqué dans la réponse détaillée, les navigateurs ajoutent des éléments nommés en tant que propriétés de l'objet document (et dans le cas d'IE, de l'objet fenêtre également), ce qui constitue une mauvaise décision de conception car elle permet aux noms d'éléments d'entrer en conflit avec les propriétés existantes de ceux-ci. objets.

Pour éviter ce problème, il est fortement recommandé de s'en tenir à l'utilisation de document.getElementById pour la récupération des éléments. Cette méthode est largement prise en charge et apporte de la clarté à votre code. Si le nom plus long pose problème, vous pouvez créer une fonction wrapper plus courte au lieu de vous fier au comportement involontaire de la recherche ID-élément.

Il est important de noter que la pratique consistant à rendre les éléments nommés accessibles en tant que global -les variables de type est en cours de formalisation en HTML5, y compris le placement de ces éléments sur les propriétés du document et de la fenêtre. Cependant, malgré la standardisation, cela reste une pratique qu'il vaut mieux éviter au profit de méthodes plus robustes et sans ambiguïté comme document.getElementById.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal