jquery dodanie klasy dla od pozycji np. 5

0

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

Przykład:

<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ć :/

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ć.

2

Szybsza (wydajnościowo) wersja:

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

Jeszcze szybsza bez jQuery:

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).

0

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

1 użytkowników online, w tym zalogowanych: 0, gości: 1