2009-10-14 2 views
0

Мой запрос ajax возвращает объект с моим HTML внутри него, я хочу подсчитать divs в этом объекте, просто не могу понять, как это сделать.Как подсчитать элементы внутри объекта?

Некоторый код:

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

В чеку я показываю длину всего объекта HTML, но я хочу, чтобы действительно быть свертывание в него и показывает длину определенного набора дивы.

ответ

2

Есть два способа сделать это:

$("#comments div").length 

Или с параметром контекста:

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

Они оба дают вам количество дивы внутри комментариев, но второй способ Быстрее.

Если я понимаю, что вы пытаетесь сделать, то похоже, что вышеупомянутое решение будет работать для вас. Но есть и третья возможность. Если вы уже выбрали объект и хотите увидеть, сколько внутри него элементов определенного типа, то это немного другое. Если, например, вы работаете с «этим», тогда использовать этот метод нецелесообразно.

Вместо этого вы могли бы сделать что-то вроде этого:

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

Или это, чтобы получить отсчет только непосредственных дивы:

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

Обратите внимание, что это будет рассчитывать дивы внутри дивы, а также. – Sampson

+2

'$ (" # comments> div "). Length' для подсчета непосредственных элементов DIV в #comments. – Sampson

+0

Спасибо Джонатан. Он не уточнил, поэтому я просто предположил, что он хочет всех дивизий. Но ты прав. –

Смежные вопросы