计算div内的div

1 html children parent count

我已经尝试了此页面上的解决方案来计算父(类)div 中的 div。但不幸的是,我的结果总是显示现有儿童 div 的总数。由于示例遵循两个跨度标记将输出 7。

为了更好地理解,这是代码 html:缺少什么?- (我绝对是新手)。谢谢。

    <!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="content-type" content="text/html; charset=utf-8" />
        <title>count</title>
        <script src="http://code.jquery.com/jquery-latest.js"></script>
    </head>
    <body>
        <div id="content-body" class="clearfix">

        <!-- detail div no 1 = 3 items inside -->
            <span class="countDiv"></span> 
            <div class="detail">
                <div class="box">
                    Div item 1
                </div>
                <div class="box">
                    Div item 2
                </div>
                <div class="box">
                    Div item 3
                </div>
            </div>
            <br /><br />
            <!-- detail div no 1 = 4 items inside -->
            <span class="countDiv"></span> 
            <div class="detail">
                <div class="box">
                    Div item 1
                </div>
                <div class="box">
                    Div item 2
                </div>
                <div class="box">
                    Div item 3
                </div>
                <div class="box">
                    Div item 4
                </div>
            </div>

        </div>
    <script type="text/javascript">

        $('#content-body').each(function() { 
            var n = $('.detail').children('.box').length;
            $(".countDiv").text("There are " + n + " divs inside parent box detail.");
        });

    </script>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

Sle*_*son 5

检查这个小提琴:http : //jsfiddle.net/geko/vXcgZ/

问题是你的每一个,而

$('.detail').children('.box').length

这将选择容器中的所有 .detail 元素以及所有带有 .box 的子元素。总共有 7 个。您应该使用 each() 遍历 .detail 并计算 .box 子项并修改相应的 countDiv。