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

Dlaczego document.querySelector zwraca null?

Aruba Cloud PRO i VPS, Openstack, VMWare, MS Hyper-V
0 głosów
213 wizyt
pytanie zadane 24 września 2020 w JavaScript przez Kubs Mądrala (5,210 p.)

Witajcie,

próbuje pobrać element DOM

const hamburger = document.querySelector('.hamburger');

i mimo, że jest ustawiony poprawnie

 <button class="hamburger">
     <span class="hamburger__box">
       <span class="hamburger__inner"></span>
     </span>
 </button>
.hamburger {
  padding: 40px;
  display: inline-block;
  cursor: pointer;
  background-color: blue;
  border: 0;
  margin: 0;
}

wywala mi w konsoli Uncaught TypeError: hamburger is null

2 odpowiedzi

+1 głos
odpowiedź 24 września 2020 przez creend Gaduła (4,700 p.)
w którym miejscu dodajesz skrypt js do strony?
komentarz 24 września 2020 przez Kubs Mądrala (5,210 p.)

@creend, Nic dodać, nic ująć. Wszystko jasne. Dziękuję.

komentarz 24 września 2020 przez Kubs Mądrala (5,210 p.)

@senpai desu, Dzięki.

komentarz 24 września 2020 przez Comandeer Guru (586,620 p.)

@senpai desu, nie tyle umie, co po prostu to robi, jeśli skrypt nie jest oznaczony jako asynchroniczny. Addy Osmani ma dobre podsumowanie, jak są wczytywane skrypty: https://addyosmani.com/blog/script-priorities/

komentarz 24 września 2020 przez ScriptyChris Mędrzec (191,540 p.)

Addy Osmani ma dobre podsumowanie, jak są wczytywane skrypty

Ciekawe, jaki jest sens umieszczania skryptu z atrybutem defer pod koniec <body>, skoro można to zrobić w <head> (+ defer), dzięki czemu skrypt będzie miał więcej czasu na pobranie się (bo zacznie się wcześniej). I podobnie - jaki jest sens deferowania skryptu pod koniec </body> - tutaj przychodzi mi do głowy, że defer (przynajmniej w teorii) gwarantuje wykonanie skryptu przed eventem DOMContentLoaded?

komentarz 25 września 2020 przez Kubs Mądrala (5,210 p.)
Jak zwykle ciekawie i jak zwykle ciężko mi zrozumieć :)
0 głosów
odpowiedź 24 września 2020 przez senpai desu Mądrala (5,720 p.)
Hej zamieść więcej kodu, jak używasz tego const hamburger ?? co jest w wierszu który zwraca błąd? Możesz zrobić console.log(hamburger) ; pod wierszem w którym wyszukujesz ten element
komentarz 24 września 2020 przez Kubs Mądrala (5,210 p.)

Właśnie tak zrobiłem i mam ten błąd - umieściłem log-a pod tą zmienną.

 

const hamburger = document.querySelector('.hamburger');
console.log (hamburger);

 

Podobne pytania

0 głosów
0 odpowiedzi 141 wizyt
0 głosów
2 odpowiedzi 315 wizyt
pytanie zadane 29 marca 2016 w JavaScript przez adojado Początkujący (420 p.)
0 głosów
1 odpowiedź 1,451 wizyt
pytanie zadane 25 marca 2016 w JavaScript przez RedMartin Użytkownik (640 p.)

90,900 zapytań

139,572 odpowiedzi

313,905 komentarzy

60,373 pasjonatów

Motyw:

Akcja Pajacyk

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

Sklep oferujący ćwiczenia JavaScript, PHP, rozmowy rekrutacyjne dla programistów i inne materiały

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

...