addClass каждый nth - PullRequest
       5

addClass каждый nth

16 голосов
/ 11 августа 2009

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

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

Например:

<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?

Ответы [ 2 ]

45 голосов
/ 11 августа 2009

попробуй

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

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

2 голосов
/ 11 августа 2009

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

var i = 0;
$("li").each(function() {
    var newClass = 'A';
    if (i % 3 == 1) newClass = 'B';
    if (i % 3 == 2) newClass = 'C';
    $(this).addClass(newClass);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...