【问题标题】:Generating an unordered list with jQuery使用 jQuery 生成无序列表
【发布时间】:2011-01-22 10:56:52
【问题描述】:

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

所以,我们有:

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

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

【问题讨论】:

  • 您在列表中显示什么类型的信息?
  • 具有定位和溢出样式的块和图像。
  • 4 ex - 有一个图片,必须从一个
  • 数字的左边开始,右边有一个大图片的长文本,需要溢出值,不能在 IE 无序列表中正常工作
  • 在左边的一个
  • 数字*
  • 标签: javascript jquery


    【解决方案1】:
    <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> ');
        });
    });
    

    【讨论】:

    • $(this).prepend(''start+i*increment+'.');看到你删除的关于增加灵活性的帖子,但在这个问题中看不到这一点;)
    • $(this).prepend(''start+i*increment+'.'); - 崩溃并且什么都不显示
    • 你忘了加上加号 - "''+start" :)
    • 需要从一 (1) 开始列表,更改增量并从 = 1 开始,但它从 10 开始 - 我该如何解决?
    • 修复了 + 标签。 10?我认为应该是 1。
    【解决方案2】:

    我认为这应该可行,不是吗?

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

    【讨论】:

    • 凯尔法里斯,感谢您的回答。 // 这个函数为
    • 添加 rel="" // 数字需要可见,我该怎么做? // 也许将它们添加到某个标签中并放在
    【解决方案3】:

    参考这篇帖子Generating an unordered list with 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 标签重新加注星标?

    【讨论】:

    猜你喜欢
    相关资源
    最近更新 更多
    热门标签