0

我想为每个子菜单计算 li 的宽度 en 然后放入 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;');

}
4

2 回答 2

1

谢谢帮助。我现在有了这个,它增加了它的父级 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);
        } 
});
于 2010-06-17T11:49:10.950 回答
0

也许这有帮助:

宽度关闭所有子菜单 LI 的 jquery

根据您的评论,试一试:

var Sum = 0;

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

   $(this).width(Sum);
});
于 2010-06-09T08:09:13.603 回答