Jquery获取嵌套元素的数量

时间:2011-09-18 14:52:59

标签: javascript jquery html server-side

考虑动态下拉菜单。由于创建了此代码服务器端,我不知道位于li中的div 'sub'的确切数量。示例HTML输出:

<li>
    <a href="#">Videos</a>
        <div id="sub">
            <ul>
                <li><a href="#">Main</a></li>   
                <li><a href="#">Acting</a></li>                                     
                <li><a href="#">Animals</a></li>
            </ul>
        </div>
   </li>

以下脚本应在li

中提供div id="sub"的数量
$(function() {
        $('.tabMenu li a').click(function() {
        currentLink = $(this);
       //Get number of children elements
       alert(currentLink.children().size());
});

非常感谢任何帮助。

3 个答案:

答案 0 :(得分:1)

首先:代码中的.tabMenu在哪里?

尝试:

.length;

Working solution

$('.tabMenu li a').click(function() {
    currentLink = $(this);
    alert(currentLink.parents('ul').children('li').length); 
});

答案 1 :(得分:1)

   alert(currentLink.parent().find('li').size());

答案 2 :(得分:1)

您需要做的是获取li元素的父容器,然后查看它有多少个孩子:

$(function() {
    $('.tabMenu li a').click(function() {
   // Get the parent ul of the current link
   var currentLinkParent = $(this).parents("ul:first");

   alert(currentLinkParent.children().size() );

});