Генерация неупорядоченного списка с помощью jQuery

Существует неупорядоченный список, который не работает должным образом в IE6-7, я хотел бы заменить его на функцию jQuery.

Итак, имеем:

  • простой список со специальным #id (ul id="")
  • немного <li> теги
  • какой-то специальный тег в <li> чтобы показать номер строки (или что-то еще, как вы хотите).

Мне нужна функция, которая будет давать уникальный номер для каждой строки, от начала до конца нашего неупорядоченного списка. (Мкл)

3 ответа

Решение
<ul><li>test</li><li>test</li><li>test</li><li>test</li><li>test</li><li>test</li><li>test</li></ul>

$(document).ready(function(){   
    var increment=3;
    var start=8;
    $("ul").children().each(function(i) {
        $(this).prepend('<tag>'+(start+i*increment).toString()+'.</tag>');
    });
});

результат:

* 8. test
* 11. test
* 14. test
* 17. test
* 20. test
* 23. test
* 26. test

редактировать: без приращения и короче:

$(document).ready(function(){   
    $("ul").children().each(function(i) {
        $(this).prepend('<b>'+(1+i).toString()+'.</b> ');
    });
});

Я думаю, что это должно работать, нет?

$(function() {
    $('#the_ul_ID li').each(function(i) { $(this).attr('rel',++i); });
});

Ссылаясь на этот пост Создание неупорядоченного списка с помощью jQuery

Есть ли способ начать отсчет заново для другого списка, используя ul? С кодом выше это то, что я получаю!<ul> <li> test <li> test <li> test <ul/>

Выход
1. тест
2. тест
3. тест

второй список ul

<ul> <li> test <li> test <li> test <ul/>

Выход
4. тест
5. тест
6. тест

Вместо запуска второго тега ul с 1. 2. 3. он продолжает считать, используя первый ul 5. 6. 7.

Так можно ли сбросить счетчик и пометить его заново для другого тега ul?

Другие вопросы по тегам