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 :

document.getElementsByTagName et window.onload


Sujet :

JavaScript

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1
    Points : 1
    Points
    1
    Par défaut document.getElementsByTagName et window.onload
    Bonjour à tous,
    J'ai plusieurs problèmes avec la méthode document.getElementsByTagName().
    Toutes les balises ne sont pas detectées.
    Voici mon document:
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
       "http://www.w3.org/TR/html4/loose.dtd">
     
    <html lang="en">
    <head>
    <script type="text/javascript">
    window.onload = initAll();
     
    function initAll(){
    	var allP = document.getElementsByTagName("P");
    	var allImg = document.getElementsByTagName("img");
    	var allTags = document.getElementsByTagName("*");
    	var outMsg = "<p>: " + allP.length + " "+ "<img>: " + allImg.length + " "		+"tags: " +allTags.length;
    	alert(outMsg);
    }	
    </script>
    </head>
    <body>
     
    <p>hey</p>
     
    <br />
     
    <img src="images/Img2_thumb.jpg" width="160" height="120" hspace="10" border="3" alt="Thumbnail 2" id="Img2" />
     
    <br />
     
    <input type="button" onclick="javascript:initAll()" value="Compte"></input>
    </body>
    </html>
    Lorsque que je lance la page. Les messages d'alertes indiquent trouver 0 balise <p> 0 balise <img> et 3 tags en tout. (je devine qu'il s'agit de html head et body).

    En revanche, lorque j'appelle initAll() en appuyant sur le bouton, j'obtiens bien 1 <img> 1 <p> 9 tags en tout.

    Je ne comprends pas pourquoi...

    De plus, document.images une longueur de 1 quand je l'appelle avec window.onload... alors que document.getElementsByTagName("img") a une longueur de 0.

    Merci d'avance !

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    body onload ou DOMready ..

  3. #3
    Membre éclairé Avatar de micetf
    Homme Profil pro
    Professeur des Ecoles
    Inscrit en
    Mai 2009
    Messages
    557
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Professeur des Ecoles
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2009
    Messages : 557
    Points : 831
    Points
    831
    Par défaut
    Ecris plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    window.onload = initAll;
    qui affecte la fonction à l'événement.

    Alors que toi tu affectes le résultat de initAll()
    (que tu as donc exécutée trop tôt)
    à window.onload.

    Fred

Discussions similaires

  1. window.onload lancement de fonction et href
    Par debutantasp dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 28/04/2008, 16h06
  2. Documentation sur SDK Windows Media Player
    Par Ndugu dans le forum Bibliothèques
    Réponses: 2
    Dernier message: 17/03/2008, 11h23
  3. window.onload et frame
    Par remsou dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 04/03/2008, 13h17
  4. document.getElementsByTagName : Nouvelle balise ?
    Par sachav dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 02/12/2007, 19h24
  5. [IE]window.onload ne fonctionne pas
    Par banzzai dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 18/05/2006, 11h24

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