Я рекомендую использовать $('#foo').children().size()
для лучшей производительности.
Я создал тест jsperf, чтобы увидеть разницу в скорости, и children()
метод превзошел подход дочернего селектора (#foo> div) как минимум на 60% в Chrome (сборка сборок v15), на 20-30% в Firefox (v4).
Кстати, само собой разумеется, что эти два подхода дают одинаковые результаты (в данном случае 1000).
[Обновить] Я обновил тест, включив тест size () и длины, и они не имеют большого значения (результат: length
использование немного быстрее (2%), чем size()
)
[Update] Из - за неправильной разметки видели в OP (до «Разметка ПРОВЕРЯЕМЫЕ» обновление мной), так $("#foo > div").length
и в $('#foo').children().length
результате один и тот же ( jsfiddle ). Но для правильного ответа, чтобы получить ТОЛЬКО 'div' детей, СЛЕДУЕТ использовать селектор детей для правильной и лучшей производительности