2009-10-14 79 views
0

我的ajax请求正在返回一个包含我的HTML的对象,我想要计算这个对象中的div,但不知道如何。如何计算对象内的元素?

一些代码:

$.ajax({ 
type: "GET", 
url: "/activity_results.html?"+options, 
cache: false, 
success: function(html, status){ 
if(html != ""){ 
$(html).appendTo("#comments"); 
alert(($(html)).length); 
} 
} 
}); 

在警告我显示整个HTML对象的长度,但我想真正要向下钻取,并显示一组特定的div的长度。

回答

2

有两种方法可以做到这一点:

$("#comments div").length 

或者与上下文参数:

$("div", "#comments").length 

他们都会给你的div数量内的意见,但第二个方法是更快。

如果我明白你在做什么,那么它看起来像上面的解决方案会为你工作。但有第三种可能性。如果你已经选择了一个对象,并且需要查看它内部有多少个特定类型的元素,那么这有点不同。例如,如果你正在使用“this”,那么使用上述方法是不实际的。

相反,你可能会做这样的事情:

$(this).find("div").length 

还是这个只得到即时的div的计数:

$(this).children("div").length 
+0

注意,这会算的div中的div为好。 – Sampson 2009-10-14 20:30:10

+2

'$(“#comments> div”).length'来计算#comments中的立即DIV元素。 – Sampson 2009-10-14 20:31:00

+0

谢谢乔纳森。他没有指定,所以我只是假设他想要所有的div。但你是对的。 – 2009-10-14 20:47:05