Exercice 5/8

Dans le fichier script.js :

  • déclarez les variables result et longueur;
  • utilisez document.getElementsByClassName() pour récupérer les éléments HTML qui ont la class "par" et affectez le résultat à result;
  • récupérez dans longueur la longueur du tableau;
  • créez une boucle for avec l'itérateur i;
  • dans la boucle affichez chaque élément avec alert();
  • cliquez sur Soumettre ma réponse.

Leçon 5/8

Si vous avez réussi l'exercice précédent, vous avez donc pu afficher 3 fois ceci :

 [object HTMLParagraphElement]

Grâce à la boucle vous avez donc pu récupérer les trois paragraphes p qui sont stockés chacun dans un objet.

Pour l'instant, vous savez comment récupérer un ou des éléments HTML. Vous verrez dans les exercices suivant comment agir sur ces éléments HTML et donc le DOM.

Il est aussi possible de récupérer les éléments HTML selon la class css qu'ils possèdent avec la fonction suivante :

.getElementsByClassName()

Elle fonctionne de la même manière que la fonction précédente.

Commentaires les mieux notés

  • mohamed.gdoura.pro-37

    on est tous bloqué , svp corriger ce bug

  • mjoabsing-55

    Bonsoir désolée mon message est parti trop tôt, je n'arrive pas à valider il me dit : Votre variable result ne contient pas les balises ayant comme classe par, que dois-je faire, merci de votre retour

  • ali_alhashim

    Bon ca fait plusieurs exercices où j'ai le message d'erreur Avez-vous bien déclaré les variables demandées ? !!

  • doucette.manon

    Avez-vous bien affiché chaque élément du tableau avec alert() ? mon code : var result , longueur ; result = document.getElementsByClassName('par'); longueur = result.length; for (i = 1; i < longueur; i++) { alert(result[i]); }

31 Commentaires

  • mohamed.gdoura.pro-37

    mohamed.gdoura.pro-37

    on est tous bloqué , svp corriger ce bug

    le 07/12/2018 à 20h23

  • meriam

    meriam Administrateur

    Bonjour, votre dernier code est correct, essayez de déclarer result puis en lui setant le contenu, de même pour longueur. Pour la variable doit être déclaré au moment de la création de la boucle.

    le 10/12/2018 à 09h34

  • ali_alhashim

    ali_alhashim

    Bon ca fait plusieurs exercices où j'ai le message d'erreur Avez-vous bien déclaré les variables demandées ? !!

    le 21/09/2017 à 22h51

  • mram

    mram Administrateur

    Bonjour, et oui il ne faut pas oublier de déclarer "i" .

    le 22/09/2017 à 18h45

  • doucette.manon

    doucette.manon

    Avez-vous bien affiché chaque élément du tableau avec alert() ? mon code : var result , longueur ; result = document.getElementsByClassName('par'); longueur = result.length; for (i = 1; i < longueur; i++) { alert(result[i]); }

    le 11/09/2018 à 10h26

  • mram

    mram Administrateur

    Dans une boucle, généralement on initialise "i" à zéro.

    le 16/09/2018 à 07h08

  • alexismoquet

    alexismoquet

    Bjr, je n'arrive pas à valider, mon code est-il bon ?

    le 12/10/2017 à 14h27

  • mram

    mram Administrateur

    Bonjour, il doit y avoir des espaces inutiles à la fin de la ligne 4.

    le 12/10/2017 à 16h55

  • mram

    mram Administrateur

    Ligne 5, on souhaite afficher l'élément du tableau "result" en cours d'itération dans la boucle.

    le 16/11/2016 à 19h48

  • ali_alhashim

    ali_alhashim

    En fait c'est bon, j'oubli toujours de déclarer l'itérateur i !

    le 22/09/2017 à 09h18

  • cdezandee

    cdezandee

    var result = document.getElementsByClassName('par'); var longueur = result.length; for (i=0; i < longueur; i++) { alert(document.getElementsByClassName('par')); }

    le 15/11/2016 à 15h01

  • djamchid

    djamchid Administrateur

    Avez-vous bien déclaré les variables demandées ?

    le 22/08/2017 à 12h29

  • philgd28

    philgd28

    bonjour, comme dans l'exercice précédent j'ai le même message d'erreur. Mon code est il bon ? merci

    le 11/08/2017 à 09h06

  • mram

    mram Administrateur

    Bonjour, oui il est correct :)

    le 16/08/2017 à 11h18

  • nkeshimanabrice-37

    nkeshimanabrice-37

    pouvez-vous me corriger...

    le 15/01/2019 à 09h23

  • meriam

    meriam Administrateur

    Bonjour, utilisez document.getElementsByClassName() pour récupérer les éléments HTML qui ont la class "par".

    le 15/01/2019 à 16h21

  • Leob974

    Leob974

    Bonjour, mon code est-il bon ? Car je ne vois pas ou j'aurais pu me tromper

    le 08/08/2018 à 16h26

  • mram

    mram Administrateur

    Bonjour, quel message d'erreur avez-vous exactement ?

    le 13/08/2018 à 04h13

  • philgd28

    philgd28

    bonjour, je pense que mon code est bon. Mais sa ne passe pas, pas simple d'avancer... pouvez-vous si je suis dans le vrai. merci

    le 03/11/2017 à 08h12

  • mram

    mram Administrateur

    Bonjour, oui votre code est correct :) Mais il y a des espaces inutiles en fin de ligne du "for" et après l'accolade { et à la fin du alert()

    le 04/11/2017 à 00h22

  • lienmontage

    lienmontage

    Je bloque ici aussi

    le 27/03/2018 à 14h12

  • mram

    mram Administrateur

    Bonjour, idem ici, un espace après "for".

    le 30/03/2018 à 02h08

  • radiere.theo-90

    radiere.theo-90

    bonjour, même problème que l'exercice précédent : où se trouve mon erreur svp ? le correcteur m'indique "unexpected token )...

    le 25/04/2018 à 11h53

  • mram

    mram Administrateur

    Bonjour, vous oubliez de déclarer la variable "i".

    le 29/04/2018 à 03h11

  • belespoir38

    belespoir38

    Bonjour, un commentaire svp ? var result; var longueur; result= document.getElementsByClassName('par'); longueur= result.length; for (i=0; i<longueur; i++) { alert(result[i]); }

    le 14/01/2018 à 14h04

  • mram

    mram Administrateur

    Bonjour, idem ici, n'oubliez pas de déclarer la variable "i", c'est une variable comme une autre.

    le 17/01/2018 à 19h21

  • bernardraphael13

    bernardraphael13

    bonsoir, un peu énervant Avez-vous bien déclaré les variables demandées ? mon code var result , longueur ; result = document.getElementsByClassName('par'); longueur = result.length; for(i = 1; i < longueur; i++) { alert(result[i]); } merci cela me débloquera à plusieurs endroit...

    le 14/06/2017 à 23h31

  • mram

    mram Administrateur

    Bonjour, votre code semble correct en effet.

    le 21/06/2017 à 14h26

  • alexis_masson1-76

    alexis_masson1-76

    Je ne vois pas comment je pourrais améliorer mon code, j'ai des erreurs, surement des soucis au niveau d'espaces ou de 'couilles' dans ce genre ?

    le 16/08/2018 à 10h44

  • mram

    mram Administrateur

    Oui mettez l'accolade ligne 5 sr une ligne à part. C'est que de la syntaxe en effet.

    le 28/08/2018 à 22h09

  • Elyann

    Elyann

    Bon j'ai réussi, j'ai reécrit la même chose après l'avoir effacer, et du coups sa fonction... chelouuuu^^

    le 09/01/2019 à 19h43

index.html
script.js
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>DOM</title> </head> <body> <h1>Titre h1</h1> <p class="par">Paragraphe 1</p> <h2>Titre h2</h2> <p class="par">Paragraphe 2</p> <ul> <li>Item 1</li> <li>Item 2</li> <li><a href="http://www.google.fr">Item 3</a></li> </ul> <div id="bloc"> <h3>Titre h3</h3> <p class="par">Paragraphe 4</p> </div> <script src="script.js"></script> </body> </html>