AddClass каждый n-й

У меня есть список элементов, которые я хочу стилизовать тремя разными способами.

Я хочу, чтобы каждый третий элемент списка имел один и тот же класс во всем списке.

Например:

<li class="A">Some Content</li>
<li class="B">Some Content</li>
<li class="C">Some Content</li>
<li class="A">Some Content</li>
<li class="B">Some Content</li>
<li class="C">Some Content</li>
<li class="A">Some Content</li>
<li class="B">Some Content</li>
<li class="C">Some Content</li>

Я могу сделать 2 с: нечетным/четным, но как это сделать с 3?

Ответы

Ответ 1

попробуйте

$("ul li:nth-child(3n+1)").addClass("A")
$("ul li:nth-child(3n+2)").addClass("B")
$("ul li:nth-child(3n)").addClass("C")

Не забудьте консолидировать его, чтобы сделать его красивее, но я хотел разоблачить селектор.

Ответ 2

Я рекомендую что-то вроде этого:

var i = 0;
$("li").each(function() {
    var newClass = 'A';
    if (i % 3 == 1) newClass = 'B';
    if (i % 3 == 2) newClass = 'C';
    $(this).addClass(newClass);
});