• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

addEventListener - wyskakuje błąd

42 Warsaw Coding Academy
0 głosów
127 wizyt
pytanie zadane 28 maja 2018 w JavaScript przez alicja Nowicjusz (160 p.)

Witam,

próbuję dodać klasę do zdarzenia kliknięcia. Plik js podpięty na końcu body, dodatkowo najpierw ładuje cały DOM. Nie wiem, dlaczego wyskakuje następujący bład: Uncaught TypeError: Cannot read property 'addEventListener' of undefined  at HTMLDocument.<anonymous> 

document.addEventListener("DOMContentLoaded", function(event) {

    console.log("DOM został wczytany");

    function showMenu() {
        document.querySelector(".menu")[0].classList.toggle("show");
        return false;
    }

    const element = document.querySelector('.menu-icon')[0];

    element.addEventListener("click", showMenu, false);

});

 

1 odpowiedź

0 głosów
odpowiedź 28 maja 2018 przez shotokan Nałogowiec (39,660 p.)
Jeżeli chcesz odwołać się do pierwszego element z wielu to musisz zastosować document.querySelectorAll().
Możesz też zrobić tak, jak napisałeś, ale wtedy nie używasz [0]. Używając document.querySelector() zawsze odwoła się do pierwszego elementu.

Podobne pytania

0 głosów
1 odpowiedź 1,106 wizyt
0 głosów
2 odpowiedzi 790 wizyt
pytanie zadane 7 czerwca 2022 w JavaScript przez lenzo1 Początkujący (360 p.)
+1 głos
2 odpowiedzi 447 wizyt

93,385 zapytań

142,384 odpowiedzi

322,540 komentarzy

62,745 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...