2011-10-25 12 views
7

Estoy usando la función jQuery ajax para manejar el seguimiento de datos de la base de datos. Los datos devueltos en esta función es comojquery count xml nodes

<root> 
    <result city='LA' state='CA'></result> 
    <result city='DALLAS' state='TX'></result> 
    ... 
</root> 

estoy usando

var count=$(data).find("result").length(); 

para obtener el recuento de nodos de resultados, pero no es correcto. Entonces, ¿cómo contar los nodos de resultados usando jQuery?

+0

¿Qué valor está usted recibiendo frente a lo que estás esperando? – JaredPar

+0

Haré un programa diferente basado en el número de nodo de resultados. Si solo hay un nodo de resultados {}, si hay más de uno {}, algo así. –

+0

Sí, pero ¿qué valor devuelve que cree que es inválido? ¿Está diciendo 0 valores de resultado, por ejemplo, cuando hay, por ejemplo, 10? – JaredPar

Respuesta

6

Asumiendo que data es un objeto XML Node, $(data).find("result").length está bien. Sin corchetes, length es una propiedad, no un método. Hay un método que hace lo mismo, size(), aunque no hay una ventaja real al usarlo.

(Si data eran en realidad una cadena, habría que analizar que en un documento XML en primer lugar. Pasando marcado no HTML a $() es lo malo y que sólo funciona a veces por la suerte.)

+0

Muchas gracias, hombre! –

+0

Debe ser la longitud sin corchetes. –

+0

¡Funciona para mí, gracias! – Leinad

1

Es cierto longitud no se trabajar aquí, que tenía el mismo problema y que había resuelto utilizando size() igual

var count=$(data).find("result").size();