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

question-closed document.getElementById gdy id jest zmienne

VPS Starter Arubacloud
0 głosów
771 wizyt
pytanie zadane 18 grudnia 2018 w JavaScript przez Bartłomiej Bolesta Obywatel (1,630 p.)
zamknięte 28 lutego 2019 przez Bartłomiej Bolesta

Tworzę iterację, która powinna działać, ale coś nie przechodzi i nie mogę dojść czemu. W momencie, gdy spróbuję zrobić kod dla pojedynczego elementu w celach testowych, dopisując do nazwy po prostu cyfrę to działa:
 

<script>
	document.getElementById("buttonmin6").addEventListener("click", function(){
	document.getElementById("inputquantity6").value = "1";
});
</script>


Ale gdy wprowadzam iterację, coś nie przechodzi. Nic się nie dzieje. Nie wiem gdzie robię błąd:
 

<script>
	for (let i=3; i<30; i++) {
		document.getElementById("buttonmin"+i).addEventListener("click", function(){
		document.getElementById("inputquantity"+i).value = "1";
}});
</script>

 

komentarz zamknięcia: rozwiązane

1 odpowiedź

+1 głos
odpowiedź 18 grudnia 2018 przez niezalogowany
wybrane 18 grudnia 2018 przez ScriptyChris
 
Najlepsza

Pomyliłeś nawiasy powinno być:

 

<script>
    for (let i=3; i<30; i++) {
        document.getElementById("buttonmin"+i).addEventListener("click", function(){
        document.getElementById("inputquantity"+i).value = "1";
});
}
</script>

 

komentarz 18 grudnia 2018 przez Bartłomiej Bolesta Obywatel (1,630 p.)
0.o, żyłka mi pęknie xD. Ponad godzinę siedziałem i internet przeszukiwałem w poszukiwaniu odpowiedzi jakich niuansów nie poznałem na temat iteracji, że to nie działa, a tu głupie nawiasy.

Dzięki!
1
komentarz 18 grudnia 2018 przez ScriptyChris Mędrzec (190,190 p.)

Gdybyś otworzył konsolę przeglądarki (klawisz F12), to zobaczyłbyś poniższy błąd ze wskazaniem na miejsce wystąpienia w kodzie :)

Uncaught SyntaxError: Unexpected token }

1
komentarz 18 grudnia 2018 przez Tomek Sochacki Ekspert (227,510 p.)
Plus do tego pracuj w dobrym edytorze, a nie w notatniku :) Każdy IDE czy lepszy edytor Ci to od razu podświetli + zapnij sobie jakiś linter, warto od początku uczyć się dobrych praktyk.
komentarz 18 grudnia 2018 przez niezalogowany
Czy takie rozwiązanie nie powoduje opóźnień w wywoływaniu zdarzeń? Zawsze wszystkie zdarzenie będą wyłapane?
komentarz 18 grudnia 2018 przez ScriptyChris Mędrzec (190,190 p.)

Co masz na myśli?

W uproszczeniu zdarzenie kliku wywoływane jest przez fizyczne kliknięcie myszką na stronie lub programowalnie (np. przez wywołanie metody dispatchEvent na elemencie DOM). Jeśli nasłuchujesz tego zdarzenia w JavaScript (podpiąłeś jakąś funkcję), to może się zdarzyć, że wywołanie funkcji obsługującej zdarzenie przy zajętej kolejce zdarzeń opóźni się do momentu aż stos wywoławczy będzie pusty lub nie wykona się wcale, jeśli wątek się zawiesi.

Dlatego zaleca się, żeby wymagające operacje przeprowadzać w osobnych wątkach lub choćby rozbijać na mniejsze porcje kolejkując je.

P.S. Polecam obejrzeć: https://www.youtube.com/watch?v=8aGhZQkoFbQ

Podobne pytania

0 głosów
2 odpowiedzi 680 wizyt
pytanie zadane 25 sierpnia 2019 w JavaScript przez TomekN Początkujący (330 p.)
0 głosów
2 odpowiedzi 1,277 wizyt
pytanie zadane 3 września 2018 w JavaScript przez vneb Początkujący (490 p.)
0 głosów
2 odpowiedzi 150 wizyt
pytanie zadane 3 maja 2017 w JavaScript przez sapero Gaduła (4,100 p.)

92,451 zapytań

141,261 odpowiedzi

319,073 komentarzy

61,853 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.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...