计算多个无序列表中的列表项(ul)

时间:2014-05-09 23:14:03

标签: jquery

我有它工作,但它是单独计算它们。我希望它继续计算每个无序列表。思考?谢谢!

例如:我有2个无序列表,我希望它可以计算两个,所以如果每个列表有5个项目,那么两个列表的数量最多为10个。

演示: http://jsfiddle.net/6XfkB/35/

function numberItems() {
    var itemCount = $('#ca-nav-wrap > li.ca-nav-list-group').find(".ca-nav-item-list > ul > li").length;
    var lihtml = "";
    for (var i = 1; i <= itemCount; i++) {
        lihtml += "<li>" + i + "</li>"
    }
    $('.ca-nav-num-list ul').html(lihtml);
}
numberItems();

2 个答案:

答案 0 :(得分:1)

我认为这应该可以解决问题 它看起来像在最后一行 $('.ca-nav-list-num ul').html(lihtml); 你找到了两个ul并将html设置为你刚才创建的内容,所以写的它们总是一样的

function numberItems() {
        var num = 1;
        $("li.ca-nav-list-group").each(function() {
            var itemCount = $(this).find(".ca-nav-list-item > ul > li").length;
            var lihtml = "";
            for (var i = 1; i <= itemCount; i++) {
                lihtml += "<li>" + num + "</li>" 
                num++
            }
            $(this).find('.ca-nav-list-num ul').html(lihtml);
            //$('.ca-nav-list-num ul').html(lihtml);
        });
    }
    numberItems();

答案 1 :(得分:0)

使用此:

function numberItems() {
    var count = 0;
    $("div.ca-nav-list.ca-nav-list-item > ul").each(function() {
        $("li", $(this)).each(function() {
            count += 1;
            $("div.ca-nav-list.ca-nav-list-num ul", $(this).parent().parent().parent()).append("<li>"+count+"</li>");
        });
        console.log(count);
    });
}
numberItems();

DEMO