本文介绍了使用jQuery启动新的编号列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

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

有没有办法为另一个ul列表开始新计数?
使用上面的代码,这就是我得到的!

Is there a way to start a new count for another ul list?With the code above this is what i get!

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

输出

1. test
2. test
3. test

第二个ul列表

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

输出

4. test
5. test
6. test

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

Instead of starting the second ul tag with 1. 2. 3. it continues to count using the first ul 5. 6. 7.

因此可以重置计数并将其全部加注再次为另一个ul标签?
如果可能如何?

So is it possible to reset the count and star it all over again for another ul tag?If it is possible how?

推荐答案

使用有序列表:

HTML

<ol id="num_list">
  <li>How</li>
  <li>Now</li>
  <li>Brown</li>
  <li>Cow</li>
</ol>

CSS

#num_list { list-style-type: decimal; }

编辑:如果您确实无法使用有序列表,那么请使用一些JavaScript,如下所示:

EDIT: if indeed you cannot use an ordered list, then use some JavaScript, like this:

$(function() {
  $('ul').each(function() {
     $(this).children().prepend(function(index, html) {
        return '<span>' + (index+1) + '. </span>';
     });
  });
});

这篇关于使用jQuery启动新的编号列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-29 11:01