2009-02-11 12 views
0

我有一個jQuery的菜單,有很多條目,它比頁面的長度延伸得更遠。我想獲得每個菜單部分中的條目數量,以便我可以使用它來調整頁面末尾的填充div。查找jquery中使用大小()的子項數量

$('.hideMe').click(function(){ 
    alert($(this).next('ul').children()); 
}); 

所以我想找出ul標籤下的li標籤的數量。

<h3 class="hideMe">Items</h3> 
    <ul class="myul"> 
     <li id="001" > 
      <a href="products.php?item=001">Item 1</a> 
     </li> 
     <li id="002" > 
      <a href="products.php?item=002">Item 2</a> 
     </li> 
     <li id="003" > 
     <a href="products.php?item=003">Item 3</a> 
     </li> 

任何想法?謝謝。

回答

4

這個怎麼樣:

$(this).next('ul').find('li').length 

1
$(".hideMe").click(function(){ 
    alert($(this).next("ul").find("li").length); 
}); 

但是我寧願去做$(this).next("ul").height()以立即獲得高度。

+0

hm。使用高度似乎是做到這一點的最好方法,但是當菜單關閉時會發生高度檢查,它將返回1.當再次點擊它時,它會給出正確的高度,然後菜單將被擴展。 – edzillion 2009-02-11 12:52:48

+0

爲什麼不先獲得高度然後關閉它? – svinto 2009-02-11 13:13:42

0

我同意Staicu提供的答案(我已經投了票),但是您需要考慮孩子的數量是否足夠用於您想要做的信息。

不要忘記允許使用不同的顯示器分辨率,以及瀏覽器窗口的大小(更具體地說是您的情況 - 高度)可以更改的事實。

我並不完全確定'padding div'在整體佈局中的作用 - 也許一個更詳細的例子會幫助我們理解。