&(34)中每个循环的#(第一个lvl)元素的总宽度"

时间:2016-01-19 19:10:07

标签: jquery

我想总结一下li元素的宽度,但只有l。中的第一个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次。

此致

1 个答案:

答案 0 :(得分:0)

您可以在每个函数中使用this对象来计算宽度。

&#13;
&#13;
var menu3 = 0;

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

alert("Total Width is " + menu3);
&#13;
<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>
&#13;
&#13;
&#13;