使用jQuery生成无序列表

时间:2009-05-01 19:28:26

标签: javascript jquery

有无序列表,在IE6-7中无法正常工作,我想用jQuery函数替换它

所以,我们有:

  • 带有特殊#id(ul id =“”)
  • 的简单列表
  • 一些<li>代码
  • <li>中的一些特殊标记,用于显示行数(或其他内容,如您所愿)。

我需要一个函数,它会为每一行提供一个唯一的编号,从无序列表的开头到结尾。 (UL)

3 个答案:

答案 0 :(得分:2)

<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> ');
    });
});

答案 1 :(得分:0)

我认为这应该有效,不是吗?

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

答案 2 :(得分:0)

参阅此帖Generating an unordered list with jQuery

有没有办法再次使用ul开始计算另一个列表? 有了上面的代码,这就是我得到的! <ul> <li> test <li> test <li> test <ul/>

输出
试验 2.测试 3.测试

第二个ul列表

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

输出
4.测试 5.测试 6.测试

而不是使用1. 2. 3.继续使用第一个ul 5. 6. 7开始计算第二个ul。

那么是否可以重置计数并将其重新标记为另一个ul标签?