Я рекомендую використовувати $('#foo').children().size()для кращої роботи.
Я створив тест jsperf, щоб побачити різницю швидкостей і children()метод побив дочірнього селектора (#foo> div), принаймні на 60% у Chrome (canary build v15) 20-30% у Firefox (v4).
До речі, що ці два підходи дають однакові результати (у даному випадку 1000).
[Оновити] Я оновив тест, щоб включити тест size () vs length, і вони не мають великої різниці (результат: lengthвикористання трохи швидше (2%), ніж size())
[Оновлення] Через неправильну розмітку, помічену в ОП (до мого оновлення "перевірена розмітка"), обидві $("#foo > div").length& отримали$('#foo').children().length однакове ( jsfiddle ). Але для правильної відповіді, щоб отримати ТОЛЬКІ «діві» дітей, ОДИН ДОБРІ використовувати добірчик для правильної та кращої роботи