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 :

[Débutant] Problème getElementsByTagName


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut [Débutant] Problème getElementsByTagName
    Bonsoir,

    J'ai un fichier HTML où figurent 4 éléments <p class='xyz'> pour lesquels je voudrais récupérer la classe. Pour cela j'utilise le code suivant dans un fichier .js :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    window.onload = initSelect;
     
    function initSelect() {
    	var allTags = document.getElementsByTagName("P");
    	var classes = new Array();
    	for (var i=0; i<allTags.length; i++) {
    		classes[i] = allTags[i].className;
    		document.write(classes[i]);
    	}
    }
    Logiquement je devrais voir apparaître les 4 classes mais ce n'est pas le cas, seule la première s'affiche.

    Merci pour votre aide!

    webrider

  2. #2
    Membre Expert
    Avatar de ryan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2003
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 956
    Billets dans le blog
    1
    Par défaut
    Yop!

    La syntaxe semble correcte. Si tu ne vois que le premier élément du tableau, je pencherais pour un pb de timing. As-tu essayé avec la fonction déclarée dans le <head> de la page?

  3. #3
    Invité
    Invité(e)
    Par défaut
    Salut!

    Je n'ai pas essayé avec la fonction dans le head de la page html mais je crois avoir identifié le problème, dites-moi si je me trompe...

    Je pense que la fonction document.write() écrase à chaque fois l'appel précédent : je ne vois apparaître à l'écran que la dernière valeur donc classes[3].

    Je ne suis pas certain de ce que j'avance, merci de confirmer.

    webrider

  4. #4
    Membre Expert
    Avatar de ryan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2003
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 956
    Billets dans le blog
    1
    Par défaut
    Yop!

    Tu pourrais remplacer le document.write par un alert. Tu verrais ainsi si le pb est bien dans le document.write.

  5. #5
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    bonjour,


    Code html : 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
    31
    32
    33
    34
    35
    36
    37
     
    <html>
    <head>
    <title></title>
     
     
    <script type="text/javascript">
    <!--
    function initSelect() 
    {
            var allTags = document.getElementsByTagName("P");
            var classes = new Array();
            for (var i=0; i<allTags.length; i++) 
        {
                    classes[i] = allTags[i].className;
                    document.getElementById("res").innerHTML += classes[i]+" ";
            }
    }
     
    //-->
    </script>
     
    </head>
     
    <body onload="initSelect()">
     
    <p class="classe1">p1</p>
    <p class="classe2">p2</p>
    <p class="classe3">p3</p>
    <p class="classe4">p4</p>
     
    <div id="res"></div>
     
     
    </body>
     
    </html>
    et oublie document.write()

  6. #6
    Invité
    Invité(e)
    Par défaut
    Merci à vous deux pour vos réponses, elles me sont très utiles!

    @++

    webrider

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

Discussions similaires

  1. [Débutant] Problème de variables
    Par bonnefr dans le forum SWT/JFace
    Réponses: 9
    Dernier message: 12/05/2004, 17h41
  2. Réponses: 2
    Dernier message: 28/04/2004, 11h25
  3. [Débutant] Problème de déconnexion d'une page JSP
    Par amal9 dans le forum Servlets/JSP
    Réponses: 12
    Dernier message: 22/01/2004, 13h40
  4. [débutant] Problèmes avec CRegKey
    Par Pedro dans le forum MFC
    Réponses: 4
    Dernier message: 10/11/2003, 15h28
  5. Réponses: 11
    Dernier message: 02/09/2003, 14h20

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