2010-09-13 6 views
1

Aujourd'hui, un collègue de travail travaillait sur un lecteur vidéo tiers intégration pour un ensemble boîtier décodeur et trouvé dans leur documentation un exemple comme celui-ci:cartographie étrange d'éléments DOM dans les variables

<a id="say_hello">Hello</a> 

<script type="text/javascript"> 
    say_hello.onclick = function() { alert("Hello world") } 
</script> 

Je viens soupçonnais c'était quelque chose lié seulement avec CE-HTML mais l'a essayé sur Google Chrome et a fonctionné aussi bien.

Depuis quand est-il possible d'accéder aux éléments DOM de cette façon?

+0

Je savais que c'était possible dans IE il y a quelque temps, le problème était que si vous commenciez à utiliser le nom de la variable pour quelque chose d'autre, il devenait de temps en temps fâché. –

Répondre

0

Depuis au moins Javascript 1.2, je crois. J'utilise ce genre de choses depuis aussi longtemps que je fais de la programmation frontale.

+0

alors ... ça marche sur tous les navigateurs? – knoopx

+0

@knoopx: Cela fonctionne sur tous les navigateurs modernes. Je devrais préciser que vous voudrez peut-être apprendre à utiliser 'addEventListener()' (dans IE, 'attachEvent' ... ou simplement utiliser un framework comme jQuery) car l'affectation directe des gestionnaires d'événements aux écouteurs peut faire exploser les écouteurs qui peuvent déjà exister. – Robusto

+0

Whoa, whoa, whoa, whoa, whoa, whoa, WHOA ... Cela ne fait pas partie de "Javascript 1.2", peu importe ce que cela signifie. Ceci est une chose DOM, et ** n'est approuvé par aucune norme **. Firefox par exemple ne supporte pas (et j'espère ne le supportera jamais). 'document.getElementById' existe pour une raison. –

0

Lisez la section Accesseurs de raccourci dans ce lien: http://jibbering.com/faq/notes/form-access/. Je pense que vous accédez aux propriétés nommées. J'ai même essayé de mettre le <a> dans un <div> mais j'ai quand même réussi à y accéder en utilisant son nom comme ci-dessus.

Questions connexes