Adicione a largura Li ao pai UL
-
25-09-2019 - |
Pergunta
Gostaria de calcular a largura dos Li para cada submenu EN, em seguida, colocar no elemento UL.
exemplo
<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>
Eu tenho isso tão
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;');
}
Solução
Thnx pela ajuda. Eu tenho isso agora, é a largura do seu 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);
}
});
Outras dicas
Talvez isso ajude:
largura fora de todos os submenu li jQuery
Base no seu comentário, dê uma chance:
var Sum = 0;
$('ul ul').each(function(){
$(this).children('li').each(function(i, e){
Sum += $(e).outerWidth();
});
$(this).width(Sum);
});
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow