Partage
  • Partager sur Facebook
  • Partager sur Twitter

getElementbyClassName ne fonctionne pas

    27 juillet 2017 à 1:22:42

    Bonjour, 

    j'essaie de récupérer la classe où je clique avec soit :

    - document.getElementByClassName() 

    - getElementByClassName()

    - array.filter(getElementByClassName())

    Malheureusement à chaque tentative, chrome ne connait pas la fonction, pouvait vous m'aider s'il vous plait? 

    D'avance merci pour votre aide

    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      27 juillet 2017 à 1:35:28

      Montre tout ton code html css et js je pourrais t'aider
      • Partager sur Facebook
      • Partager sur Twitter
        27 juillet 2017 à 1:52:38

        Bonjour, écris-tu getElementByClassName ou getElementsByClassName? Le S à la fin du elements est important! ;)

        -
        Edité par David Gaulin 27 juillet 2017 à 2:01:34

        • Partager sur Facebook
        • Partager sur Twitter
        Apprendre apprendre et... apprendre!
        Anonyme
          27 juillet 2017 à 1:53:20

          chrome ne reconnait pas 

          document.getElementByClassName() 


          car c pas document.getElementByClassName()  mais document.getElementsByClassName()    "Le element prend un s"

          • Partager sur Facebook
          • Partager sur Twitter
            27 juillet 2017 à 1:55:40

            Oops, désolé pour le double envoi du message!

            -
            Edité par David Gaulin 27 juillet 2017 à 2:00:27

            • Partager sur Facebook
            • Partager sur Twitter
            Apprendre apprendre et... apprendre!
            Anonyme
              27 juillet 2017 à 2:17:28

               On est synchro mdr

              • Partager sur Facebook
              • Partager sur Twitter
                27 juillet 2017 à 7:43:54

                Et sinon document.querySelectorAll('.taclasse') ^^
                • Partager sur Facebook
                • Partager sur Twitter
                  27 juillet 2017 à 10:05:17

                  J'ai essayé toutes vos idées, malheureusement aucune ne vas.. chrome ne reconnait rien.
                  en mettant seulement document.getElementsByClassName('maclasse') il accepte mais dès que je rajoute .addEventListener() il ne reconnait plus

                  Bizarre quand même :(

                  est-ce que se serait la dedans qu'il faudrait faire quelque chose? 

                  <!DOCTYPE html>
                  
                  <?php
                  	include_once "connexionMySQL.php";
                  ?>
                  <html>
                  <head>
                  	<meta charset="utf-8">
                  	<meta name="viewport" content="width=device-width, initialscale=1.0">
                  	<meta name="generator" content="HTML Tidy for Linux (vers 25 March 2009), see www.w3.org">
                  	
                  	<link href="../Bootstrap11/dist/css/bootstrap.min.css" content="text/css" rel="stylesheet">
                  	<link href="../Bootstrap11/dist/css/bootstrap.css" content="text/css" rel="stylesheet">
                  	<link href="../Bootstrap11/dist/css/bootstrap-theme.css" content="text/css" rel="stylesheet">
                  	<link href="../Bootstrap11/dist/css/bootstrap-theme.min.css" content="text/css" rel="stylesheet">
                  	
                  	<link rel="stylesheet" content="text/css" href="CSS/CSS.css" />
                  	
                  	<title>Boutique online</title>
                  </head>

                  D'avance merci

                  • Partager sur Facebook
                  • Partager sur Twitter
                    27 juillet 2017 à 11:03:35

                    Choupetta19 a écrit:

                    J'ai essayé toutes vos idées, malheureusement aucune ne vas.. chrome ne reconnait rien.
                    en mettant seulement document.getElementsByClassName('maclasse') il accepte mais dès que je rajoute .addEventListener() il ne reconnait plus

                    Voici la doc :
                    https://developer.mozilla.org/fr/docs/Web/API/Document/getElementsByClassName

                    éléments est une liste de nœuds (NodeList) des éléments trouvés dans l'ordre dans lequel ils apparaissent dans l'arbre.

                    Donc tu ne peux utiliser que les méthode de NodeList :
                    https://developer.mozilla.org/fr/docs/Web/API/NodeList

                    • Partager sur Facebook
                    • Partager sur Twitter
                      27 juillet 2017 à 18:02:14

                      Tu n'as qu'à "préciser" le Node que tu veux! :)

                      Par exemple: document.getElementsByTagName('classe')[0];

                      Bref, le chiffre correspond à l'emplacement du Noeud dans l'exemple plus haut, je m'adresse au premier noeud possédant la classe "classe".

                      Si tu veux tous les sélectionner, il te faudra faire une boucle! 

                      Bonne chance! :)

                      • Partager sur Facebook
                      • Partager sur Twitter
                      Apprendre apprendre et... apprendre!
                        27 juillet 2017 à 18:19:36

                        Attention : Chrome ne "reconnaît" ou n' "accepte" rien...

                        Ça a l'air con ce que je dis mais en ayant une attitude animiste comme ça tu ne pourras jamais rien déboguer. Chrome n'a pas de conscience et il n'est pas capricieux. C'est toi qui lui demande de faire des trucs et il faut que tu saches exactement ce que tu lui demandes.

                        Que retourne la méthode getElementsByClassName ?Tu peux regarder ça sur MDN par exemple, il y a de la doc sur toutes les méthodes Javascript (et bien d'autres choses). Ça, c'est la première étape quand tu n'es pas habitué au langage.

                        Tu peux aussi utiliser ta console d'erreurs pour voir si tu as des erreurs déjà. C'est mieux que de se contenter d'un "Chrome n'accepte pas" : il te dit ce qui ne va pas dans la console, s'il rencontre une erreur d'exécution. S'il ne te dit rien c'est une information en soit (le code n'est pas exécuté par exemple, ou ton code est trop tolérant avec les valeurs des variables).

                        Tu peux aussi écrire dans la console avec console.log et console.trace pour connaître la valeur d'une variable à un temps t ou trouver l'origine d'une erreur.

                        Quand tu sais loger des choses, tu peux faire des tests : applique la méthode scientifique, on n'a rien fait de mieux. Essaie de formuler une hypothèse que tu peux contredire avec une expérience. Ça te rapprochera de la solution.

                        Enfin, tu peux utiliser un IDE, ou configurer ton IDE, pour qu'il analyse ton code. Normalement il devrait te dire qu'il ne connaît pas getElementByClassName

                        • Partager sur Facebook
                        • Partager sur Twitter
                          27 juillet 2017 à 22:42:40

                          En disant que Chrome n'accepte pas c'est que bien entendu je regarde mes erreurs que j'ai noté plus haut

                          J'ai compris ce que retournais la fonction.

                          Merci David Gaulin 😊

                          • Partager sur Facebook
                          • Partager sur Twitter
                            27 juillet 2017 à 23:31:19

                            On voit bien que tu n'appliques pas pourtant. Si tu avais regardé la doc, tu aurais vu que cette méthode retourne une liste, si tu avais fait un console.log du résultat, tu aurais vu que c'était aussi une liste, et si tu avais regardé la doc de addEventListener, tu aurais vu que ça nécessitait un seul élément. En suite tu montres un code qui n'a rien à voir.

                            Ça se sent quand quelqu'un passe à côté de quelque chose, je t'en fais la remarque, maintenant si tu ne veux pas l'accepter je ne vais pas en faire une maladie.

                            • Partager sur Facebook
                            • Partager sur Twitter
                              28 juillet 2017 à 10:29:23

                              Je comprends et je l'accepte. Je suis encore aux études et si je viens ici c'est justement pour avoir des conseils venant d'autres personnes plus expérimentés. 

                              Mais je vous remercie de votre aide.

                              • Partager sur Facebook
                              • Partager sur Twitter

                              getElementbyClassName ne fonctionne pas

                              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                              • Editeur
                              • Markdown