Je recommande d'utiliser $('#foo').children().size()
pour de meilleures performances.
J'ai créé un test jsperf pour voir la différence de vitesse et la children()
méthode a battu l'approche du sélecteur enfant (#foo> div) d'au moins 60% dans Chrome (version canary v15) 20-30% dans Firefox (v4).
En passant, il va sans dire que ces deux approches produisent les mêmes résultats (dans ce cas, 1000).
[Mise à jour] J'ai mis à jour le test pour inclure le test size () vs length, et cela ne fait pas beaucoup de différence (résultat: l' length
utilisation est légèrement plus rapide (2%) que size()
)
[Mise à jour] En raison du balisage incorrect vu dans l'OP (avant « balisage Validé » mise à jour par moi), à la fois $("#foo > div").length
et $('#foo').children().length
donné le même ( jsFiddle ). Mais pour que la réponse correcte n'obtienne QUE des enfants `` div '', on DEVRAIT utiliser le sélecteur d'enfants pour des performances correctes et meilleures