使用javascript循环将现有列表元素的文本编号

时间:2014-12-11 05:08:29

标签: javascript jquery html loops append

我想将数字发送到现有的列表元素。例如:

我有这样的元素。我已经在我的应用程序中创建了不同的列表项。但我有文字编号有序。

<div class="section-01">
    <ul class="numbers-wrap">
    <li class="numbers-li"></li>
    <li class="numbers-li"></li>
    <li class="numbers-li"></li>
    </ul>

    <ul class="numbers-wrap">
    <li class="numbers-li"></li>
    <li class="numbers-li"></li>
    </ul>

    <ul class="numbers-wrap">
    <li class="numbers-li"></li>
    <li class="numbers-li"></li>
    <li class="numbers-li"></li>
    </ul>
    </div>

    <div class="section-02">
    <ul class="numbers-wrap">
    <li class="numbers-li"></li>
    <li class="numbers-li"></li>
    <li class="numbers-li"></li>
    <li class="numbers-li"></li>
    </ul>

    <ul class="numbers-wrap">
    <li class="numbers-li"></li>
    <li class="numbers-li"></li>
    <li class="numbers-li"></li>
    </ul>

    <ul class="numbers-wrap">
    <li class="numbers-li"></li>
    <li class="numbers-li"></li>
    <li class="numbers-li"></li>
    </ul>
    </div>

我想按顺序为所有列表(.numbers-li)添加数字:

结果应该是这样的

<div class="section-01">
        <ul class="numbers-wrap">
        <li class="numbers-li">1</li>
        <li class="numbers-li">2</li>
        <li class="numbers-li">3</li>
        </ul>

        <ul class="numbers-wrap">
        <li class="numbers-li">4</li>
        <li class="numbers-li">5</li>
        </ul>

        <ul class="numbers-wrap">
        <li class="numbers-li">6</li>
        <li class="numbers-li">7</li>
        <li class="numbers-li">8</li>
        </ul>
        </div>

        <div class="section-02">
        <ul class="numbers-wrap">
        <li class="numbers-li">9</li>
        <li class="numbers-li">10</li>
        <li class="numbers-li">11</li>
        <li class="numbers-li">12</li>
        </ul>

        <ul class="numbers-wrap">
        <li class="numbers-li">13</li>
        <li class="numbers-li">14</li>
        <li class="numbers-li">15</li>
        </ul>

        <ul class="numbers-wrap">
        <li class="numbers-li">16</li>
        <li class="numbers-li">17</li>
        <li class="numbers-li">18</li>
        </ul>
        </div>   

另请告诉我如何只将奇数写入其中

2 个答案:

答案 0 :(得分:0)

试试这个

$('.numbers-li').each(function(index){
    $(this).text(parseInt(index,10) + 1);
})

更新(对于奇数。可以通过改变oddum = 2来打印偶数数字)

var oddnum = 1;
$('.numbers-li').each(function(index){
    $(this).text(oddnum);
    oddnum = oddnum + 2;
})

答案 1 :(得分:0)

尝试这样:

$(document).ready(function(){
    $('li').each(function(index){
        $(this).text(parseInt(index,10)+ 1);
    })
});

注意:此处$(this).text(parseInt(index)+ 1)也可以使用,但在使用base value时应始终使用parseInt,否则可能会导致一些不良后果。