2013-06-26 4 views
2

Есть ли способ jquery, который позволяет вам найти количество элементов div в родительском узле.Найти число элементов div в родительском div

Так что у меня есть это настроить

<div id="parent"> 
    <div id="child1"></div> 
    <div id="child2"></div> 
</div> 

Если я хочу, чтобы найти число дивы под родителю было бы 2

или это

<div id="parent"> 
    <div id="child1"><div id="childer1"></div></div> 
    <div id="child2"></div> 
</div> 

Это должно дать мне 3.

Есть ли какой-либо метод, который сделает это за вас?

ответ

0

Вы можете получить номер с помощью длины

$('#parent div').length 
3

Это следует сделать это:

var descendant_count = $("#parent div").length; 
+0

Спасибо за ответ человек! –

7

Да. Если вы хотите все из них:

var divs = $('#parent').find('div').length; 

или

var divs = $('#parent div').length; 

Если вы просто хотите, чтобы непосредственные дети:

var divs = $('#parent').children('div').length; 

или

var divs = $('#parent > div').length; 

Варианты с участием «найти» и «дети» удобны, если ваш исходный элемент - это то, для чего у вас уже есть ссылка.

+3

Второй пример дает понять, что он хочет всех, а не только детей. – Barmar

+1

@ Бармар да, я был уверен, что это так, но я решил, что ответ может охватить этот случай для будущих читателей :-) – Pointy

+0

Спасибо за ответ! –

0

Без библиотеки

document.getElementById("parent_div").children.length; 
+2

Это не даст правильного ответа для второго примера. – Barmar

1

Чистый раствор ванили:

document.getElementById('parent').querySelectorAll('div').length; 

jsFiddle here.

отметить:querySelectorAll() поддерживается только в более поздних версиях IE (от IE8 +).