Добавление классов в теги li в списке ul в качестве индекса - PullRequest
4 голосов
/ 05 июня 2011

$ (). AddClass для <li> тегов в <ul>

пример:

<ul>
    <li class="1"></li>
    <li class="2"></li>
    <li class="3"></li>
    <li class="4"></li>
    <li class="5"></li>
</ul>

Ответы [ 4 ]

2 голосов
/ 05 июня 2011

Не знаю, проверял ли кто-нибудь еще свои ответы с помощью функции обратного вызова, потому что ни один из них по крайней мере не работал на моем Chrome / FF4. Вам необходимо преобразовать целое число в строку.

$('ul > li').addClass(function(i) {
    return (i+1).toString();
});

пример: http://jsfiddle.net/niklasvh/Cx3DX/

2 голосов
/ 05 июня 2011

Самый лучший способ - использовать аргумент обратного вызова для addClass:

$('li').addClass(function(i) {
    return i + 1;
});

Предоставленная функция запускается один раз для каждого элемента в выборе.Первый аргумент - это основанный на 0 индекс элемента в выборе (второй - это старое значение класса, но здесь это неважно).Возвращаемое значение добавляется к текущим классам элемента.

2 голосов
/ 05 июня 2011
$('ul > li').each(function(i) {
    $(this).addClass(i + 1);
});
2 голосов
/ 05 июня 2011
$('ul > li').each(function(i) {
    $(this).addClass((i + 1).toString());
});

или

$('ul > li').addClass(function(i) {
    return (i + 1).toString();
});
...