Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: automatyczne dodawanie klasy do linku w zależności od dnia?
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
marcus755
Hej,
mam siedem linków, każdy to jeden dzień tygodnia

  1. <ul>
  2. <li><a href="#">poniedziałek</a></li>
  3. <li><a href="#">wtorek</a></li>
  4. <li><a href="#">środa</a></li>
  5. <li><a href="#">czwartek</a></li>
  6. <li><a href="#">piątek</a></li>
  7. <li><a href="#">sobota</a></li>
  8. <li><a href="#">niedziela</a></li>
  9. </ul>


jak zrobić w jquery, żeby w zależności od dnia tygodnia (tzn. od daty) spawdzał datę
i "automatycznie" dodawał do <li> w bieżącym dniu class="select",
ale tylko do dnia, który jest obecnie - inne dni wtedy nie mają tej klasy?
Damonsson
http://www.w3schools.com/jsref/jsref_getday.asp

później możesz sobie np. zmienić linki na

  1. <li><a href="#" data-day="1">poniedziałek</a></li>

itd.

i w JS później lecisz (pseudokod):

if (data-day === getday) addClass select
kamil4u
Osobiście jestem przeciwny dodawaniu atrybuty, których nie ma -> data-day="1"

Proponuję zrobić switch i w zależności od tego dodawać odpowiednią klasę w odpowiednim elemencie. Zwiększy się troszkę ilość kodu, ale moim zdaniem kod będzie poprawniejszy.
vermis
Cytat(kamil4u @ 17.07.2014, 11:41:14 ) *
Osobiście jestem przeciwny dodawaniu atrybuty, których nie ma -> data-day="1"


Specyfikacja html5 dopuszcza parametry data-* więc nie widzę powodu, żeby ich nie używać. Używanie zamiast nich klas jest bardziej nadużyciem, bo klasy nie służą do przechowywania danych.
Damonsson
Cytat(kamil4u @ 17.07.2014, 11:41:14 ) *
Osobiście jestem przeciwny dodawaniu atrybuty, których nie ma -> data-day="1"

Proponuję zrobić switch i w zależności od tego dodawać odpowiednią klasę w odpowiednim elemencie. Zwiększy się troszkę ilość kodu, ale moim zdaniem kod będzie poprawniejszy.


Bzdury, chyba piszesz wg HTML 4 ciągle.

Odpowiednią klasę w odpowiednim elemencie? Czyli jak? Podaj chociaż alternatywę.
kamil4u
Myślałem o czymś w stylu:
Kod
switch( day ){
case 1: $( element1 ).addClass( ... ); break;
case 2: $( element2 ).addClass( ... ); break;
case 3: $( element3 ).addClass( ... ); break;
case 4: $( element4 ).addClass( ... ); break;
...
}


Cytat
Specyfikacja html5 dopuszcza parametry data-* więc nie widzę powodu, żeby ich nie używać.

Cytat
Bzdury, chyba piszesz wg HTML 4 ciągle.

Nie bzdury, tylko takie jest moje zdanie - nigdzie nie napisałem, że tak nie wolno robić. Uważam, że w tym wypadku nie ma sensu dodawać takich atrybutów, bo można to zrobić tak jak podałem wyżej. Po prostu jeśli się da to wolę nie używać takich atrybutów, bo jak można małym kosztem to po co?

Nie atakujcie mnie tak wink.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.