Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ JavaScript _ jquery dodanie klasy do div'a tylko raz...?

Napisany przez: marcus755 21.07.2014, 09:47:43

Pytanie,
jak w jquey wymusić, żeby tylko raz dodał mi poniższą klasę, a nie do każdego?

  1. <http://december.com/html/4/element/script.html>
  2. $(".test").find(".podtest").addClass("jakas");
  3. </http://december.com/html/4/element/script.html>
  4.  
  5. <http://december.com/html/4/element/div.html class="test">
  6. <http://december.com/html/4/element/div.html class="podtest">
  7. costam
  8. </http://december.com/html/4/element/div.html>
  9. </http://december.com/html/4/element/div.html>
  10.  
  11. <http://december.com/html/4/element/div.html class="test">
  12. <http://december.com/html/4/element/div.html class="podtest">
  13. costam
  14. </http://december.com/html/4/element/div.html>
  15. </http://december.com/html/4/element/div.html>
  16.  
  17. <http://december.com/html/4/element/div.html class="test">
  18. <http://december.com/html/4/element/div.html class="podtest">
  19. costam
  20. </http://december.com/html/4/element/div.html>
  21. </http://december.com/html/4/element/div.html>

Napisany przez: Pyton_000 21.07.2014, 09:48:20

Kod
.find(".podtest").first().

Napisany przez: Turson 21.07.2014, 09:48:54

Kod
$(".test").find(".podtest:nth-child(1)").addClass("jakas");

Napisany przez: marcus755 21.07.2014, 09:56:52

to wiem...,
ale jak użyję .first(),
to nie bedzie tak, że zawsze doda mi tylko do pierwszego?

bo ja chciałem zrobić docelowo
coś takiego, że np.
o godz.:
9:00 - dodaje mi klasę .jakaś do pierwszego div'a z klasą .podtest
10:00 - usuwa mi z pierwszego, a dodaje do drugiego
11:00 - usuwa mi z drugiego, a dodaje do trzeciego

jak zrobić?

Napisany przez: trueblue 21.07.2014, 10:05:51

Przypisz im jakiś atrybut, np.: data-hour="xx", o danej godzinie sprawdzaj i jeśli się zgadza, to przypisz klasę, pozostałym usuń.

Napisany przez: vermis 21.07.2014, 10:06:25

użyj :nth-child(n) lub pobierz podrzędne elementy do tablicy, usuń klasę wszystkim, następnie w pętli znajdź odpowiedni element i potem nadaj mu klasę.

Napisany przez: Pyton_000 21.07.2014, 10:07:57

Pobierz godzinę, odejmij 8 i wynik wstaw w :nth-child(xxx)

Napisany przez: marcus755 21.07.2014, 10:28:42

Pobieram sobie .getTime();
chyba zapomniałem,
ale jak wyciągnąć ze span z klasą .time liczby określające czas,
i powiązać to z .getTime(); w taki sposób żeby dodać i ukrywać klasę?


  1. <http://december.com/html/4/element/script.html>
  2. var start = new Date().getTime();
  3. $(".test").find(".podtest").addClass("jakas");
  4. </http://december.com/html/4/element/script.html>
  5.  
  6. <http://december.com/html/4/element/div.html class="test">
  7. <http://december.com/html/4/element/div.html class="podtest">
  8. <http://december.com/html/4/element/span.html class="time">9:45</http://december.com/html/4/element/span.html>
  9. </http://december.com/html/4/element/div.html>
  10. </http://december.com/html/4/element/div.html>
  11.  
  12. <http://december.com/html/4/element/div.html class="test">
  13. <http://december.com/html/4/element/div.html class="podtest">
  14. <http://december.com/html/4/element/span.html class="time">10:30</http://december.com/html/4/element/span.html>
  15. </http://december.com/html/4/element/div.html>
  16. </http://december.com/html/4/element/div.html>
  17.  
  18. <http://december.com/html/4/element/div.html class="test">
  19. <http://december.com/html/4/element/div.html class="podtest">
  20. <http://december.com/html/4/element/span.html class="time">11:00</http://december.com/html/4/element/span.html>
  21. </http://december.com/html/4/element/div.html>
  22. </http://december.com/html/4/element/div.html>

Napisany przez: trueblue 21.07.2014, 10:39:29

text()

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)