2012-02-27 18 views
5

Sto analizzando XML utilizzando jQuery. Voglio ottenere il conteggio di tutti i sottonodi con il nome del tag specificato.Ottenere il conteggio degli elementi jQuery.each()

Ad esempio:

<People> 
<person name="hello'></person> 
<person name="hello'></person> 
<person name="hello'></person> 
<person name="hello'></person> 
<person name="hello'></person> 
</people> 

Io uso il seguente codice jQuery:

$(xml).find("person").each(function(){}); 

Naturalmente il codice precedente funziona, ma voglio solo per ottenere il conteggio, lo faccio non voglio loop. Il motivo è questo: l'esempio sopra è troppo facile, il mio file XML e il codice javascript sono un po 'complessi, quindi c'è un sacco di logica per capire il file xml, e non voglio spendere codice per scrivere tutto questo.

Grazie mille!

risposta

8

Se si desidera ottenere il conteggio quindi utilizzare la proprietà length:

$(xml).find("person").length; 
+1

lunghezza è un proprietà, non una funzione. –

+0

'length' è un attributo, non un metodo. Lascia perdere quei paren. –

+0

@SKS grazie, confondi sempre 'size()' e 'length' – JaredPar

1

O anche provare size():

$(xml).find("person").size(); 
+1

o' .length', che potrebbe essere più veloce. –

+0

potrebbe essere, ma non sono sicuro in questo caso. Spero tu abbia ragione. – ZloyPotroh

+1

size() è in fase di deprecazione ... usa la lunghezza – charlietfl

Problemi correlati