JQuery - номер каждый ли - PullRequest
       23

JQuery - номер каждый ли

2 голосов
/ 04 января 2011

Я не знаю много о массивах и объектах нумерации.Я надеюсь, что вы понимаете, что я имею в виду под "нумерацией всех ли".Таким образом, первый li получает класс «0», второй li получает класс «1» и т. Д.

Html

<div id="imtheking">
<ul>
<li>List Item</li>
<li>List Item</li>
<li>List Item</li>
<li>List Item</li>
<li>List Item</li>
<li>List Item</li>
<li>List Item</li>
</ul>
</div>

Pseudo Javascript (Jquery)

$('#imtheking ul > li').number(starting from: '0');

Результат HTML

<div id="imtheking">
<ul>
<li class="0">List Item</li>
<li class="1">List Item</li>
<li class="2">List Item</li>
<li class="3">List Item</li>
<li class="4">List Item</li>
<li class="5">List Item</li>
<li class="6">List Item</li>
</ul>
</div

Да, я думаю, что имя класса, которое содержит только число, является неправильным. Поэтому вместо «0» или «1» оно должно называться «number0» или"number1".

Спасибо за ваш ответ!

Ответы [ 3 ]

6 голосов
/ 04 января 2011
$("#imtheking li").each(function(index) {
  $(this).addClass('number' + index);
});
4 голосов
/ 04 января 2011

Вы можете сделать:

$('#imtheking li').each(function(index){
  $(this).attr('class', 'list_' + index);
});

Вывод будет:

<li class="list_0">List Item</li>
<li class="list_1">List Item</li>
<li class="list_2">List Item</li>
<li class="list_3">List Item</li>
<li class="list_4">List Item</li>
<li class="list_5">List Item</li>
<li class="list_6">List Item</li>

Чтобы сохранить аналогичную разметку и просто добавить класс, вам нужно использовать addClass:

$('#imtheking li').each(function(index){
  $(this).addClass('list_' + index);
});
0 голосов
/ 04 января 2011

Вы можете использовать этот плагин jquery: http://slightlymore.co.uk/ol/

Из их документов:

<ol id="first_example">
  <li>Item number 1</li>
  <li>Item number 2</li>
  <li>Item number 3</li>
  <li>Item number 4</li>
</ol>


$("ol#first_example").niceOrderedLists();

Однако он не добавляет класс, но, вероятно, поможет вамдостичь того, что вы пытаетесь сделать.

...