2017-03-16 27 views
0

爲什麼我得到錯誤的數字與JavaScript的div的孩子?

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

你正在使用的ID元素添加ABC孩子選擇器來計數的孩子 – guradio

+1

可能重複的長度[jQuery的算子元素(HTTP://計算器。 com/questions/4291151/jquery-count-child-elements) – Ionut

+0

$(selector).length是由選擇器選擇的元素數量... HTML元素沒有.length屬性 - 你看到的長度是jquery對象 - 絕對與DOM無關 –

回答

2

你直接選擇#abc元素,因此長度屬性將永遠是1。如果你想獲得該元素的孩子的數量,使用children().length

var count = $("#abc").children().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>

2

var count= $("#abc").children().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>

你所得到的元件的長度與ID abc 添加孩子選擇器來算子

0

爲什麼我得到的結果= 1,但股利不會有任何的孩子呢?

因爲jQuery對象的.length屬性返回該jQuery對象中元素的數量。這個數字是1,因爲你選擇了div

如何解決它以獲得正確的孩子數量?

var count = $("#abc").children().length; 
0

你必須先找到使用兒童()方法元素的兒童,然後用長度計算小朋友的沒有。

所以你的表現應該是

var count = $('#abc').children().length; 
console.log('Count: '+count);