DOM fonctionne pas

galio -  
avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

je ne comprend pas comment utiliser le DOM, je suis en train d'apprendre avec des tutoriels mais je n'ai encore jamais réussi a afficher quelque chose dans ma page.

Voici un code basique par exemple:

<script type="text/javascript">
<!--
var titre = document.createElement("h1");
var texte = document.createTextNode("blablablabla");
titre.appendChild(texte);
document.getElementById("output").appendChild(titre);

//-->
</script>

j'ai une div avec l'id="output" mais rien ne s'affiche...

si quelqu'un pouvait m'aider, merci d'avance

3 réponses

  1. Fallentree Messages postés 2445 Statut Membre 210
     
    salut, il est ou la balise output ???
    0
  2. galio
     
    elle est dans le body

    <div id="output"></div>

    ca devrait marcher theoriquement non ?
    0
    1. Fallentree Messages postés 2445 Statut Membre 210
       
      bizarre
      <div id="passage" style="border:1px black solid; padding:10px">
      </div>
      <script type="text/javascript">
      <!--
       var montitre = document.createElement("h1");
       var montexte = document.createTextNode("Une page très dynamique");
       montitre.appendChild(montexte);
       var passagesortie = document.getElementById("passage");
       passagesortie.appendChild(montitre);
      //-->
      </script>


      http://fr.selfhtml.org/javascript/objets/document.htm#create_element
      0
    2. galio
       
      j'ai suivi l'exemple dans ton lien, ca marche maintenant
      mais seulement si le javascript se trouve apres la div
      0
  3. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    Salut,

    Si tu places le code Javascript dans l'entête de la page (<head> ... </head>), il faut attendre que la page HTML soit chargée avant de le lancer.

    Tu dois donc faire comme ceci :
    window.onload = function() {
        // Ton code ici
    };


    Si tu le places dans le corp, alors c'est après le code HTML utilisé par le script.
    De préférence, on le place juste avant </body>.
    0