Javascript 如何避免计算html页面[JQUERY]中的所有div元素

Javascript 如何避免计算html页面[JQUERY]中的所有div元素,javascript,jquery,html,Javascript,Jquery,Html,我只需要数几个分区,不是全部。假设您有以下html标记: <div id="box"> <div> <div> </div> </div> <div> <div> </div> </div> </div> 有人能帮我吗?通过这种方式,您可以计算子元素: <div id="box"> <div>

我只需要数几个分区,不是全部。假设您有以下html标记:

<div id="box">
 <div>
     <div>
     </div>
 </div>
<div>
     <div>
     </div>
 </div>
</div>

有人能帮我吗?

通过这种方式,您可以计算子元素:

<div id="box">
    <div>
        <div>
        </div>
    </div>
    <div>
        <div>
        </div>
    </div>
</div>
<script   src="https://code.jquery.com/jquery-2.2.1.min.js"   integrity="sha256-gvQgAFzTH6trSrAWoH1iPo9Xc96QxSZ3feW6kem+O00="   crossorigin="anonymous"></script>
<script>
    var count=$('#box').find('div').length;
    alert(count) // the result is 4 because counts all divs

    var count=$('#box > div').length;
    alert(count) // the result is 2 because counts all divs within the first one
</script>

变量计数=$(“#框”).find('div').length;
alert(count)//结果为4,因为对所有div进行计数
变量计数=$('#box>div')。长度;
alert(count)//结果为2,因为统计第一个div中的所有div
运行脚本:

如果将其作为html文件运行,您将看到警报(4)和警报(2)都起作用。

.find()
将遍历整个节点,而
.children()
将只检查直接子代:

var count = $('#box').children('div').length;
相反,您可以在选择器中使用
,也可以直接指定直接子项。大概是这样的:

var count = $('#box > div').length;

我认为第二个例子只是碰巧在这种情况下起作用。它实际上是在选择大的子元素,而不是子元素。恰好有相同的计数。注意:抓得好。我读得不太好,认为这是他想要的。更新了答案。
var count = $('#box > div').length;