Я рекомендую використовувати $('#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 ). Але для правильної відповіді, щоб отримати ТОЛЬКІ «діві» дітей, ОДИН ДОБРІ використовувати добірчик для правильної та кращої роботи