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

Signaler
Messages postés
1090
Date d'inscription
jeudi 13 septembre 2012
Statut
Membre
Dernière intervention
7 mars 2020
-
barale61
Messages postés
1090
Date d'inscription
jeudi 13 septembre 2012
Statut
Membre
Dernière intervention
7 mars 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);

A voir également:

2 réponses

Messages postés
1090
Date d'inscription
jeudi 13 septembre 2012
Statut
Membre
Dernière intervention
7 mars 2020
64
Désolé, je m'étais trompé dans le nom de ma div.
Messages postés
1090
Date d'inscription
jeudi 13 septembre 2012
Statut
Membre
Dernière intervention
7 mars 2020
64
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>