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

Dynamiczna zmiana klasy w JQuery

VPS Starter Arubacloud
0 głosów
586 wizyt
pytanie zadane 3 czerwca 2019 w JavaScript przez dabgan Początkujący (410 p.)

Witam! Stworzyłem grę "Wisielca" z poradnika do JavaScript odcinka 3 Pana M.Z. .
Wszystko mi śmigało jak należy, więc postanowiłem dodać coś od siebie. Dodałem białe serduszka pod całą grą, które według mojego pomysłu po każdej błędnej odpowiedzi mają się zmieniać na czarne.

Każde serduszko jest dynamicznie generowane w pętli i stylowane w CSS jako jeden div ( użyłem before i after)

Problem na jaki napotkałem polega na tym, że nie mogę przy pomocy JQuery zmienić klasy danego serduszka po błędnej odpowiedzi. Jquery jest poprawnie podpięte, w innych miejscach tekstu ta biblioteka działa, jednakże w tej części kodu nie chce się odpalić. Wiem, że pomieszałem dużo czystego JSa z JQuery, ale wszystko brałem z odcinka Pana MZ, a potem dodawałem swoje i trochę miszmasz z tego wyszedł.

Pytanie nr. 1 - czy można mieszać "czystego" JS z JQuery? Wiem, że nie powinno się, ale chodzi mi o to, czy to zadziała w ogóle?

Pytanie nr. 2 - dlaczego w tej części kodu zmiana klasy nie chce zadziałać?

wklejam tę część kodu w której generują się serca a potem przy pomocy switcha miałyby zmieniać klasę po złym kliknięciu ( ale tego nie robią :D) : https://pastebin.com/0sQLJUHN

1 odpowiedź

+1 głos
odpowiedź 4 czerwca 2019 przez adrian17 Ekspert (344,100 p.)
$("#life8").toggleClass = ("blackHeart");

Um... bo nie tak wywołuje się metodę.

czy można mieszać "czystego" JS z JQuery? Wiem, że nie powinno się, ale chodzi mi o to, czy to zadziała w ogóle?

Jasne że można, jQuery to tylko blbioteka.

Bardziej by mnie niepokoiło to .innerHTML wszędzie...

komentarz 4 czerwca 2019 przez dabgan Początkujący (410 p.)

Dzięki za odpowiedź :)
Starałem się znaleźć w google jak się w takim razie wywołuję metodę, ale najwidoczniej czegoś nie rozumiem, bo przykłady zmiany klasy które napotkałem wyglądały tak samo jak ten mój. Dokopałem się jednak do czegoś innego, mianowicie, zmieniłem kod w tych switchach na taki:

switch(failures){
				case 1:
				$("#life8").attr("class", "blackHeart");
				break;

itd.
i teraz działa jak należy, serca po niepoprawnej odpowiedzi zmieniają klasę i zmieniają sie na czarne.

Mógłbyś mi jednak podpowiedzieć, lub nakierować jak się w takim razie wywołuję metodę?

I czego w takim razie używać zamiast .innerHTML? ( To akurat jest po prostu z filmu pana M.Z., więc się nawet nie zastanawiałem czy jest coś nowszego, bądź też odpowiedniejszego)

1
komentarz 4 czerwca 2019 przez ScriptyChris Mędrzec (190,190 p.)

Starałem się znaleźć w google jak się w takim razie wywołuję metodę, ale najwidoczniej czegoś nie rozumiem, bo przykłady zmiany klasy które napotkałem wyglądały tak samo jak ten mój.

Czytałeś dokumentację tej metody? To właściwie pierwszy link w Google. Jest tam opisane jakie parametry przyjmuje i podane warianty wywoływania. Są pokazane przykłady.

komentarz 4 czerwca 2019 przez dabgan Początkujący (410 p.)

Teraz przeczytałem dokładnie. Och, wow, chyba zbyt długo się gapiłem na ten kod, bo dopiero po przepisaniu znak po znaku, zwróciłem uwagę że tam nie ma "=" laugh

Teraz faktycznie działa. Dzięki za pomoc :) 

Podobne pytania

0 głosów
2 odpowiedzi 1,326 wizyt
pytanie zadane 22 sierpnia 2020 w Java przez Bakkit Dyskutant (7,600 p.)
0 głosów
1 odpowiedź 510 wizyt
pytanie zadane 21 września 2016 w JavaScript przez R.orlinski Mądrala (5,490 p.)
0 głosów
1 odpowiedź 156 wizyt
pytanie zadane 28 lutego 2020 w HTML i CSS przez BlackCat_ Początkujący (310 p.)

92,454 zapytań

141,262 odpowiedzi

319,099 komentarzy

61,854 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!

...