Cannot read property 'addEventListener' of null [Résolu/Fermé]

Signaler
Messages postés
1101
Date d'inscription
jeudi 13 septembre 2012
Statut
Membre
Dernière intervention
8 octobre 2020
-
Messages postés
1101
Date d'inscription
jeudi 13 septembre 2012
Statut
Membre
Dernière intervention
8 octobre 2020
-
Bonjour,

J'ai une erreur qui est la suivante à la ligne 19: Uncaught TypeError (anonymous function): Cannot read property 'addEventListener' of null.
Je suppose que c'est ma fonction "sousMenu. Ce qui fait que mon icône ne se modifie pas quand je clique mais, mon menu, s'ouvre et se ferme bien. Je vous remercie de votre aide.
                       
             function sousMenu() {
                     var sous_menu = document.getElementById('sub-nav-mobile');
                     var btn_sous_menu = document.getElementById("btn-sous-menu");

             if (sous_menu.style.display == 'none' ||  sous_menu.style.display == '') 
               {
                          sous_menu.style.display = 'block';
                          btn_sous_menu.classList.remove("add");
                          btn_sous_menu.classList.add("remove");
                }
              else 
                {
                          sous_menu.style.display = 'none';
                          btn_sous_menu.classList.add("add");
                          btn_sous_menu.classList.remove("remove");
                 }
              }
document.getElementById("btn-sous-menu").addEventListener('click', sousMenu);

2 réponses

Messages postés
1101
Date d'inscription
jeudi 13 septembre 2012
Statut
Membre
Dernière intervention
8 octobre 2020
78
Désolé, je m'étais trompé dans le nom de ma div.
Messages postés
1101
Date d'inscription
jeudi 13 septembre 2012
Statut
Membre
Dernière intervention
8 octobre 2020
78
Finalement le code finale pour changer le nom de l'icône et non la classe car j'ai changé de framework:

                    <script>
                        function sousMenu() {
                            var sous_menu = document.getElementById('sub-nav-mobile');
                            var btn_sous_menu = document.getElementById("btn-sous-menu");

                            if (sous_menu.style.display == 'none' ||  sous_menu.style.display == '') {
                                sous_menu.style.display = 'block';
                                btn_sous_menu.innerHTML = "clear";
                            }
                            else {
                                sous_menu.style.display = 'none';
                                btn_sous_menu.innerHTML = "add";
                                }
                            }
                                btn_sous_menu.addEventListener("click", sousMenu);
                    </script>