我想计算每个子菜单的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;');
}
答案 0 :(得分:1)
$('#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);
});