jQuery计算每个ul中li的数量

时间:2014-01-30 15:32:17

标签: jquery

我正在尝试根据有多少li来为LI元素添加宽度。

  • first li有5个孩子,所以孩子的宽度应该是20%
  • second li有4个孩子,所以孩子的宽度应该是25%;
  • 第三李有6个孩子,所以孩子的宽度应该是19%

我已经完成了以下任务:

$(document).ready(function(){
 var count = $('#main-menu li ul > li').size();
 var width = 100/count;
 $('header nav#main-menu li ul li').css("width",width+"%");
});

它计算所有元素(包括孩子)的问题。这可能吗?

2 个答案:

答案 0 :(得分:1)

$(document).ready(function(){
   $.each($('#main-menu li ul'), function() {
       var children = $(this).find(">li");
       var count = children.length;
       var width = 100/count;
       children.css("width", width + "%");
   });
});

答案 1 :(得分:0)

这应该这样做:

$('#main-menu li ul').each(function() {
    var $children = $(this).children('li');
    var count = children.length;
    if (count) {
        $children.css('width', 100 / count + '%');
    }
});