jquery dodanie klasy dla od pozycji np. 5

jquery dodanie klasy dla od pozycji np. 5
SH
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 152
0

Witajcie, potrzebuje napisać kod jquery, który dodaje klasę dla elementów występujących np. po 5 pozycji.

Przykład:

Kopiuj
<ul>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li class="dodana_klasa"></li>
<li class="dodana_klasa"></li>
<li class="dodana_klasa"></li>
</ul>

Podejrzewam, że jest to banał, którego z moją wiedzą nie dam rady rozwiązać :/

PI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 172
0

Może
$("li:gt(4)").addClass('twoja_klasa')
?
Dla wszystkich elementów li o indeksie powyżej 4 (pierwszy element ma indeks 0, dlatego musi być 4) dodaje klasę o nazwie 'twoja_klasa`. Powinno działać.

dzek69
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Rzeszów
2

Szybsza (wydajnościowo) wersja:

Kopiuj
$(`li:nth-child(n+6)`).addClass('klasa');

Jeszcze szybsza bez jQuery:

Kopiuj
document.querySelectorAll('li:nth-child(n+6)').forEach(function(elem) { elem.classList.add('twoja_klasa'); });

Choć w tym ostatnim pokusiłbym się o weryfikację czy jednak szybciej nie byłoby uprościć selektor i samemu sprawdzać indeks. No ale to nie wyścigi, zapewne Twoja appka i tak nie wymaga nawet pierwszej optymalizacji (choć jak chcesz zadbać o użytkowników mobilnych to każdy szczegół się przyda).

SH
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 152
0

@dzek69 jesteś niesamowity :) Dziękuję Ci serdecznie za pomoc. Oba sposoby działają tak jak należy :)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.