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

addEventListener - wyskakuje błąd

0 głosów
44 wizyt
pytanie zadane 28 maja 2018 w JavaScript, jQuery, AJAX 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,200 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
2 odpowiedzi 72 wizyt
0 głosów
1 odpowiedź 104 wizyt
0 głosów
1 odpowiedź 166 wizyt
pytanie zadane 19 czerwca 2018 w JavaScript, jQuery, AJAX przez Wisien Nowicjusz (170 p.)
Porady nie od parady
Publikując kody źródłowe korzystaj ze specjalnego bloczku koloryzującego składnię (przycisk z napisem code w edytorze). Nie zapomnij o ustawieniu odpowiedniego języka z rozwijanego menu oraz czytelnym formatowaniu kodu.Przycisk code

62,276 zapytań

108,403 odpowiedzi

226,285 komentarzy

34,908 pasjonatów

Przeglądających: 222
Pasjonatów: 8 Gości: 214

Motyw:

Akcja Pajacyk

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

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...