2009-10-14 90 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