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

Efekt na więcej niż jednym elemencie

Object Storage Arubacloud
+1 głos
319 wizyt
pytanie zadane 28 lipca 2016 w JavaScript przez j0nasz Nowicjusz (190 p.)
Cześć, jestem początkujący i mam takie pytanie.

Stworzyłem sobie 3 divy - każdy z nich ma tekst. Chciałbym, żeby w momencie kiedy kliknę w któryś zmieniało się tło, ale tylko dla tego w którego klikam. W tym momencie zrobiłem wszystko na IDkach więc jeśli kliknę np. w drugiego diva to kod wykonuje się na pierwszym. Jak rozwiązać taki problem?

3 odpowiedzi

0 głosów
odpowiedź 28 lipca 2016 przez xmentor Nałogowiec (49,520 p.)
Możesz dla tych divów nadać tą samą klasę i użyć querySelectorAll (tutaj będzie też potrzebna pętla by dla każdego elementu przypisać zdarzenie).

Pokaż również swój kod.
0 głosów
odpowiedź 29 lipca 2016 przez Spiral Obywatel (1,330 p.)

Możesz nadać wszystkim 3 divom tą samą klasę (załóżmy że .blok) i użyć kodu jquery w tym stylu:

$(".blok").click(function(){
      
       $(this).css({backgroundColor:"red"});

});
komentarz 29 lipca 2016 przez xmentor Nałogowiec (49,520 p.)
A co jeżeli nie chce korzystać z jQuery?
komentarz 30 lipca 2016 przez xmentor Nałogowiec (49,520 p.)

Jedna biblioteka do JS która wszystko zmienia, wszystkie rzeczy które już od podstaw były skomplikowane (np. wybranie elementu który chcesz), z JQuery stają się proste i logiczne.

Złapanie elementu w JS jest naprawdę skomplikowane?

Nie wiem. Jeśli coś da się łatwo zrobić w JQuery to nie potrafię (i nie potrzebuję) tego robić w JS, to tak jakby nie moja działka. Nie ma więc sensu żebym kombinował nad rozwiązaniem w nie swojej dziedzinie ;)

Moim zdaniem, zaczęcie nauki od biblioteki jaką jest jQuery to zaczynanie od dupy strony.

Zaraz to będą sami programiści jQuery a nie JavaScript.

1
komentarz 30 lipca 2016 przez ScriptyChris Mędrzec (190,190 p.)

@Spiral, mam nadzieję, że czytałeś choćby to: http://youmightnotneedjquery.com/

Uczę się czystego JavaScriptu od około roku i jak do tej pory napisałem może kilka linijek w jQuery (wpierw było to użycie $ajax(), a tak ogólnie korzystałem z tej biblioteki, gdy już była w kodzie podpięta - bo komuś tutaj na forum pomagałem).

Nie wiem, może to dlatego, że nie pisałem do tej pory jakiegoś super skomplikowanego kodu, ale uważam że zwłaszcza w małych aplikacjach nie ma zbytnio sensu podpinać jQuery. Moim zdaniem jQuery jest przydatne do tworzenia animacji, bo choćby .fadeIn()/.fadeOut() w czystym JS zajmuje dużo więcej linijek http://youmightnotneedjquery.com/#fade_in

Samo łapanie oraz wykonywanie operacji np. podpinania jednego i wielu elementów nie stanowi większego problemu - są przecież .querySelector()/.querySelectorAll().Prosty AJAX można zastąpić XHRem. Dodawanie/usuwanie klas w JS to kilka znaków w kodzie więcej jak w jQuery.

komentarz 30 lipca 2016 przez Spiral Obywatel (1,330 p.)
przywrócone 6 sierpnia 2016 przez Spiral
Należy zadać pytanie "Czy to że jquery nie jest wymagany oznacza że nie powinienem go używać?"

No nic, przeczytam to co podałeś. Może dowiem się czegoś nowego.
0 głosów
odpowiedź 29 lipca 2016 przez mowmiheniek Stary wyjadacz (11,900 p.)
edycja 29 lipca 2016 przez mowmiheniek

A nie lepiej użyć :active w css?  Dodajesz do każdego diva inną klasę i do niej active. 

PS. Sorry nie doczytałem, że to ma być cały czas a nie tylko na kliknięciu.

Podobne pytania

+1 głos
3 odpowiedzi 414 wizyt
0 głosów
1 odpowiedź 217 wizyt
pytanie zadane 17 maja 2018 w HTML i CSS przez Tidu Nowicjusz (120 p.)
+1 głos
2 odpowiedzi 136 wizyt

92,550 zapytań

141,394 odpowiedzi

319,522 komentarzy

61,935 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

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy 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!

...