2011-12-05 80 views
3

我可以在jQuery中获得属于div的子集(跨度)列表吗?我的意思是孩子的数量。我正在生成一个有几个跨度的表单,而且我需要知道我生成了多少个跨度。jQuery的CSS子选择器

回答

6

您可以使用child selectorlength属性:

var numberOfSpans = $("#someId > span").length; 

或者,如果你想使用this例如,你可以使用children方法:

var numberOfSpans = $(this).children("span").length; 

注意,这两个上面的片段给你直接的孩子的数量span元素。他们不会计算更多的后代。如果你想这样做,你可以删除>字符,或使用find而不是children

+0

谢谢你们,所有的解决方案是完美的:) – Denees

+0

没问题,很高兴我能帮助:) –

2

这给了你跨

var count = $("div").find("span").size(); 

的数量这给你的孩子一个新的jQuery对象,以通过

var list = []; 
list = $("div").children(); 
+0

'children'返回另一个jQuery对象,而不是一个数组。 –

+0

谢谢,我编辑了! –

+0

谢谢,解决方案完美地工作 – Denees

2
<div id="div1"> 
    <span>s</span> 
    <span>s</span> 
    <span>s</span> 
    <span>s</span> 
</div> 

$(function(){ 
    alert($("#div1 >span").size()) 
}); 

样本程序的位置:http://jsfiddle.net/Bhrk2/

+0

谢谢,解决方案工作完美 – Denees