将宽度li添加到父级ul

时间:2010-06-09 08:04:31

标签: jquery width parent-child html-lists submenu

我想计算每个子菜单的li的宽度然后放入ul元素。

例如

<ul>
 <li>level 1</li>
 <li>
  <ul style="widht:??;"> // total width li's added here 70px
   <li>level 2</li> // width of this li 20px
   <li>level 2</li>/ width of this li 50px
  </ul>
 </li>
 <li>level 1</li>
<li>level 1
  <ul style="widht:??;"> // total width li's added here 70px
   <li>level 2</li> // width of this li 20px
   <li>level 2</li>/ width of this li 50px
  </ul>
</li>
</ul>

我有这样的票价

if ('#menu li:has(ul) ul'){

   $('li').each(function(){

        widthParentUl += $(this).outerWidth(true)
    });

$(this)parent.('ul').attr('style','width:' + widthParentUl +'px; display:block; background:red;');

}

2 个答案:

答案 0 :(得分:1)

thnx的帮助。我现在有这个,它增加了它的parrent ul的宽度。

$('#menu ul li > ul').each(function(){  
        var liItems = $(this);
        var Sum = 0;
        if(liItems.children('li').length >= 1){
         $(this).children('li').each(function(i, e){
                Sum += $(e).outerWidth(true);
         });
        $(this).width(Sum+1);
        } 
});

答案 1 :(得分:0)

也许这会有所帮助:

width off all submenu LI's jquery

根据您的评论,请试一试:

var Sum = 0;

$('ul ul').each(function(){    
   $(this).children('li').each(function(i, e){
      Sum += $(e).outerWidth();
   });

   $(this).width(Sum);
});