2016-01-19 76 views
1

我想總結li元素的寬度,但是隻有ul中的第一個lvl。「每個循環」中li(第一個lvl)元素的總寬度

我的列表:

HTML

<ul id="top_menu"> 
    <li>1a</li> 
    <li>1</li> 
    <li>1</li> 
    <li>1 
     <ul> 
      <li>2</li> 
      <li>2</li> 
     </ul> 
    </li> 
    <li>1</li> 
    <li>1 
     <ul> 
      <li>2</li> 
      <li>2</li> 
     </ul> 
    </li> 
</ul> 

的Javascript

var menu3 = 0; 

$('ul#top_menu > li').each(function() { 
    menu3 += $('ul#top_menu > li').outerWidth(true); 
}); 

alert("Total Width is " + menu3); 

但這個代碼僅款項第一元件部6倍。

問候

+0

有沒有使用'計算寬度this'變量的原因嗎? – RRK

+0

不,沒有理由......;) – user4011723

回答

0

可以使用this對象的每個功能內用於計算寬度。

var menu3 = 0; 
 

 
$('ul#top_menu > li').each(function() { 
 
    menu3 += $(this).outerWidth(true); 
 
}); 
 

 
alert("Total Width is " + menu3);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<ul id="top_menu"> 
 
    <li>1a</li> 
 
    <li>1</li> 
 
    <li>1</li> 
 
    <li>1 
 
     <ul> 
 
     <li>2</li> 
 
     <li>2</li> 
 
     </ul> 
 
    </li> 
 
    <li>1</li> 
 
    <li>1 
 
     <ul> 
 
     <li>2</li> 
 
     <li>2</li> 
 
     </ul> 
 
    </li> 
 
</ul>

+0

完美地工作。非常感謝你 :) – user4011723

相關問題