IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Récupération élément du DOM avec getElementById


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Futur développeur, étudiant
    Inscrit en
    Juillet 2012
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Futur développeur, étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2012
    Messages : 67
    Par défaut Récupération élément du DOM avec getElementById
    Bonjour,

    J'ai un problème avec les getElementById. Voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
     <!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Strict//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd>
     <html lang="en">
     <head>
    	 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     </head>
    	 <body>
    		<div id="topscreen" onClick="init()">hey</div>
    		 <script>
    		 	 var top = document.getElementById('topscreen');
    			function init(){
    				top.innerHTML += 'test';
    				alert(top.innerHTML);
    			}
    		 </script>
    	 </body>		 
     </html>
    Sauf que quand je clique une fois, l'alert me dit "undefinedtest", ensuite "undefinedtesttest", et le texte "hey" ne change pas.

    Parfois, avec l'habitude, on voit plus les erreurs bêtes de "débutant", mais là j'ai beau chercher, je vois pas.

  2. #2
    Membre très actif
    Homme Profil pro
    bricoleur par les mots
    Inscrit en
    Avril 2015
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : bricoleur par les mots
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2015
    Messages : 744
    Par défaut
    et en mettant top dans la fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    function init(){
    var top = document.getElementById('topscreen');
    top.innerHTML += 'test';
    alert(top.innerHTML);
    }

  3. #3
    Membre actif
    Homme Profil pro
    Futur développeur, étudiant
    Inscrit en
    Juillet 2012
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Futur développeur, étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2012
    Messages : 67
    Par défaut
    Ça marche, mais si je veux ré-utiliser top en dehors de la fonction init(), je peux faire public top avant init() ?

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 209
    Par défaut
    Bonjour,
    commence par identifier ta variable en utilisant un label ne pouvant pas prêter à confusion, top étant la fenêtre mère de l'objet window, le this dans ta fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     var divTop = document.getElementById('topscreen');
     
     function init() {
         divTop.innerHTML += 'test';
         alert( divTop.innerHTML);
     }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AJAX] DOM
    Par Skydoo dans le forum AJAX
    Réponses: 15
    Dernier message: 19/01/2010, 09h37
  2. [EasyPHP] Easy Php 2.0 : Problème avec Dom Xml
    Par devadh dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 26/01/2007, 16h26
  3. [DOM] Petit, trés petit problème de DOM
    Par Clad3 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 17/12/2006, 20h56
  4. [DOM] Problème avec DOM pour le XML...
    Par Julien_riquelme dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 02/03/2006, 14h51
  5. [DOM] problème de dom
    Par spilliaert dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 02/02/2006, 22h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo