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;');

}
Foi útil?

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
scroll top