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
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!