计算元素数量,然后分配类

时间:2013-11-29 18:02:50

标签: jquery

有没有办法可以计算另一个元素中有多少元素,然后根据该数字将一个类输出到子元素?

例如;

<ul class="paging">

    <li><a href="#">content</a></li>
    <li><a href="#">content</a></li>
    <li><a href="#">content</a></li>
    <li><a href="#">content</a></li>

</ul>

由于有4个列表元素,每个列表元素将被分配一个list-4类或类似的类。如果有5 list-5等等

2 个答案:

答案 0 :(得分:2)

是。

   $('.paging').each(function() {
      var listElements = $(this).children('li');
      var listCount = listElements.length //get number of list elements
      listElements.each(function() {
           $(this).addClass('list-' + listCount);
       });
    });

答案 1 :(得分:1)

您可以使用.length计算jQuery对象的长度。对于您的示例,以下内容将起作用:

$('.paging').each(function() { 
    var children = $(this).children('li');
    children.addClass('list-'+children.length);
});

由于我们使用children(),因此只会包含直接子项(即<li>元素内的任何内容都将被忽略)。

jsFiddle Demo