2010-08-23 24 views

Respuesta

167

Usted puede utilizar .length, así:

var count = $("ul li").length; 

.length dice cuántos partidos el selector se encuentra, por lo que este análisis determina la cantidad <li> bajo <ul> elementos que tienen ... si hay sub-hijos, el uso "ul > li" en su lugar para obtener solo niños directos. Si tiene otros elementos <ul> en su página, simplemente cambie el selector para que coincida solo con el suyo, por ejemplo, si tiene una ID que usaría "#myListID > li".

En otras situaciones en las que no conoce el tipo de niño, puede utilizar el selector * (comodín), o .children(), así:

var count = $(".parentSelector > *").length; 

o:

var count = $(".parentSelector").children().length; 
+1

¿Qué pasa si, no es conocido que el niño es "Li", y podría ser cualquier cosa? – Starx

+5

@Starx: '$ (" # parent "). Children(). Length' – alecananian

+1

@AlecAnanian, No, sé cómo. Quiero decir que esperaba que Nick agregara eso a su respuesta también. – Starx

1

Try para obtener el uso:

var count = $("ul > li").size(); 
alert(count); 
0

¿Qué pasa si está utilizando esto para determinar la selector de corriente para encontrar sus hijos por lo que este se tiene: <ol> entonces no es <li> s bajo la forma de escribir un selector var count = $(this+"> li").length; no funcionará ..

+0

si el ol tiene una clase puede escribir '$ (" ol.class> li "). Length ' – Qwerty

4

No es necesario jQuery para esto. Puede usar JavaScript .childNodes.length.

Solo asegúrese de restar 1 si no desea incluir el nodo de texto predeterminado (que está vacío de forma predeterminada). Por lo tanto, tendrá que utilizar la siguiente:.

var count = elem.childNodes.length - 1; 
Cuestiones relacionadas