Exercice 8/8

Dans le fichier script.js :

Soit les variables result et longueur déja déclarées.

  • utilisez document.querySelectorAll() pour récupérer tous les li 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 8/8

Pour récupérer une liste de plusieurs éléments HTML toujours en utilisant les sélecteurs css, il faut utiliser la fonction .querySelectorAll().

Cette fonction récupère aussi une liste (ou collection) d'éléments (comme getElementsByTagName() et getElementsByClassName()). Il faut donc une boucle pour parcourir les résultats.

Commentaires les mieux notés

214 Commentaires

  • chrislyane-36

    chrislyane-36

    bonjour, pouvez m'aider

    le 06/11/2022 à 04h25

  • Patricio M

    Patricio M Admin

    SELECTOR avec Mayuscule, c'est une fonction de JS sensible à la case

    le 07/11/2022 à 08h20

  • matthieu.tirnan-34

    matthieu.tirnan-34

    bonjour, mon code est le suivant:var result; var longueur;result=document.querySelectorAll("li");longueur=result.length;for(var i=0;i<longueur;i++)&#123;alert[i]}. J'ai en message d'erreur for doit alerter de chaque result, pouvez vous m'indiquez mon erreur s'il vous plait ?

    le 04/11/2022 à 16h03

  • Patricio M

    Patricio M Admin

    Matthieu, ton code fonctionne très bien!

    le 07/11/2022 à 08h22

  • anthony-52

    anthony-52

    Bonjour! Dans alert, pourquoi mettre [i] entre crochets? on ne demandait pas un tableau si?

    le 03/06/2022 à 13h49

  • meriam

    meriam Admin

    Bonjour, pour afficher chaque élément du tableau ==> nomtableau[indice]

    le 03/06/2022 à 14h49

  • verone86-58

    verone86-58

    là aussi, on me dit que la variable result ne contient pas la balise "li" alors qu'elle y est...

    le 28/05/2022 à 23h51

  • meriam

    meriam Admin

    Bonjour, vous avez déclaré deux fois les variable result et longueur avec le clé var.

    le 07/06/2022 à 10h58

  • meriam

    meriam Admin

    Pour cet exercice, il faut séparer la déclaration des variables et l'affectation des resultats

    le 07/06/2022 à 11h03

  • gracia.nicolas-10

    gracia.nicolas-10

    Bonjour meriam, je débute en code j'avou ne pas avoir toujours compris se que je coder dans les exercices mais je compte néanmoins consolider les notions aborder pendant ces jours de codage. Neamoins savez-vous quels exercices ne fonctionnement pas ? j'ai le souci avec pas mal d'exo mais comme je comprend pas toujours se que j'ecrit c'est peu etre du fait de mes codes...

    le 26/11/2021 à 16h57

  • meriam

    meriam Admin

    Bonjour, c'est un bug qui va être résolu . Merci pour votre compréhension.

    le 29/11/2021 à 00h11

  • yan28-81

    yan28-81

    bonjour, votre boucle ne doit boucler que 3 fois ?? code : var result; var longueur; result = document.querySelectorAll('li'); longueur = result.length; for (var i = 0; i<longueur; i++)&#123;alert(result[i])}

    le 26/11/2021 à 11h39

  • meriam

    meriam Admin

    Bonjour, c'est un bug qui va être résolu . Merci pour votre compréhension.

    le 28/11/2021 à 23h44

  • nad-51

    nad-51

    Bonjour, impossible de valider mes exercices dès que j'utilise: &#123 même en remplaçant par } . Message: Boucle infinie. Alors que les modifications s'affichent pourtant sur la page. C'est systématique pour chaque exercices de ce type avec un code correct. Pouvez-vous m'aider svp?

    le 01/10/2021 à 12h16

  • meriam

    meriam Admin

    Bonjour, il faut déclarer la variable resut une seule fois avec le mot clé var.

    le 01/10/2021 à 14h54

  • rosirisf77-81

    rosirisf77-81

    bonsoir, encore un exercise que je n'arrive pas a valide, pouvez vous voir ce qui ne vas pas svp, merci

    le 02/01/2021 à 18h51

  • meriam

    meriam Admin

    Bonsoir, pour récupérer la longueur du tableau, il faut utiliser la méthode length (non pas lenght).

    le 06/01/2021 à 16h40

  • meriam

    meriam Admin

    Pour la boucle for, il faut séparer les déclaration par un point virgule ";" ==> for(var i = 0; i < longueur; i++). Il faut supprimer le point-virgule juste avant l'accolade ouvrante de la boucle. la boucle )

    le 06/01/2021 à 16h42

  • meriam

    meriam Admin

    Vous avez déclaré la variable result avec le mot clé var (deux fois)

    le 06/01/2021 à 16h44

  • Gabriel_Armede-47

    Gabriel_Armede-47

    Encore un bug ..

    le 09/11/2020 à 09h45

  • meriam

    meriam Admin

    J'ai testé votre code et il fonctionne correctement.

    le 09/11/2020 à 10h11

  • loutchay-74

    loutchay-74

    Bonsoir, J'ai un petit souci avec mon code. Quand je soumets, le correcteur affiche: Votre boucle for ne contient pas d'instructions. Par avance, merci de votre réponse.

    le 11/10/2020 à 20h16

  • meriam

    meriam Admin

    supprimez le point virgule juste aprés la boucle.

    le 14/10/2020 à 13h28

  • teodor.kobilarov-45

    teodor.kobilarov-45

    var result; var longueur; result = document.querySelectorAll("li"); longueur = result.length; for ( var i = 0 ; i < longueur ; i++) &#123; alert([i]); } Votre script a mis trop de temps à s'exécuter, auriez-vous une boucle infinie ? Ou est mon erreur ?

    le 15/09/2020 à 13h04

  • meriam

    meriam Admin

    Bonjour, vous avez affiché le compteur i alors qu'on demande d'afficher chaque élément.

    le 16/09/2020 à 06h38

  • ahmed_khaireddine-79

    ahmed_khaireddine-79

    Bonjour, pour moi y a pas d'erreur dans mon code mais au moment de soumettre la reponse // mesg d'erreur :Votre boucle for ne doit boucler que 3 fois mon code => var result; var longueur; result = document.querySelectorAll("li"); longueur = result.length; for ( var i = 0; i < longueur; i++) &#123; alert(result[i]); }

    le 27/08/2020 à 13h39

  • layla.kiddi-23

    layla.kiddi-23

    Bonjour j ai un message d'erreur qui me dit votre boucle ne contient pas d'instructions je ne vois pas l'erreur merci de m'aider

    le 07/07/2020 à 13h08

  • meriam

    meriam Admin

    Bonjour, il faut supprimer le point virgule ";" juste aprés for (var i = 0; i < longueur; i++ );

    le 07/07/2020 à 13h14

  • zedixa-68

    zedixa-68

    Bonjour, var result; var longueur; result = document.querySelectorAll('li'); longueur = result.length; for (var i = 0; i<longueur; i++) &#123; alert(result[i]); } // msg erreur: votre boucle ne doit boucler que 3 fois!

    le 06/06/2020 à 16h27

  • meriam

    meriam Admin

    le dernier code est correct.

    le 08/06/2020 à 12h26

  • meriam

    meriam Admin

    cliquez une autre fois sur le bouton soumettre pour valider l'exercice.

    le 08/06/2020 à 12h27

  • farestakorabt-3

    farestakorabt-3

    message d'erreur : Votre variable result ne contient pas les balises li

    le 29/05/2020 à 06h58

  • meriam

    meriam Admin

    Bonjour, votre code est correct, il suffit de séparer la déclaration des variables et l'affectation.

    le 29/05/2020 à 10h16

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>
var result; var longueur;