var count = $("#abc").length;
console.log('Count : ' + count)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div style="display:none;" id="abc"></div>
我得到结果= 1.这是为什么? div没有孩子?如何解决这个问题以获得正确数量的孩子?
答案 0 :(得分:2)
var count= $("#abc").children().length;
console.log('Count : '+count)
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div style="display:none;" id="abc">
</div>
&#13;
您将获得ID为abc
的元素的长度
将子项添加到选择器以计算子项
答案 1 :(得分:2)
您直接选择#abc
元素,因此长度属性始终为1
。如果您想获得元素的子元素数,请使用children().length
:
var count = $("#abc").children().length;
console.log('Count:', count);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div style="display:none;" id="abc"></div>
&#13;
答案 2 :(得分:0)
为什么我得到结果= 1,但div没有任何孩子?
因为jQuery对象的.length
属性返回该jQuery对象中的元素数。该数字为1,因为您选择了div
。
如何修复它以获得正确数量的孩子?
var count = $("#abc").children().length;
答案 3 :(得分:0)
您必须首先使用children()方法找到元素的子元素,然后使用长度计算子元素的数量。
所以你的表达应该是
var count = $('#abc').children().length;
console.log('Count: '+count);