2011-11-23 8 views

risposta

31
$('#mydiv').text().length 

dovrebbe fare il trucco.

+0

sì grazie. esattamente quello che volevo – eastboundr

+0

Apprezzo la semplicità di questo –

+0

questo è sbagliato, non conta solo i caratteri di testo visualizzati, conta tutto il testo all'interno di div in html come tag e script. Hoever non ho trovato nessun altro modo, quindi per far funzionare tutto ciò che c'è all'interno del div deve essere un testo semplice (per non parlare di questo conterà gli spazi bianchi) – Benedictus

10

Prova questo. Sto tagliando per evitare qualsiasi spazio bianco nel contenuto iniziale o finale.

$.trim($("#mydiv").text()).length 

Se si desidera mantenere gli spazi anche nel conteggio, quindi non tagliare basta usare questo.

$("#mydiv").text().length 
+0

Grazie ha funzionato come un fascino! In realtà voglio anche degli spazi bianchi, dal momento che sto facendo un "read more" "read less" div, finché il testo espande il div a una certa altezza, metterò il pulsante read more alla fine. Quindi lo spazio bianco è OK se fa parte della scelta dell'editor per la formattazione o lo stile. – eastboundr

+1

Ci scusiamo per non averlo reso più chiaro nella domanda. – eastboundr

3

Esempio
http://jsfiddle.net/TrMRB/

$("#mydiv p").text().length; 
+0

In realtà ci sono anche interruzioni di riga nel div. Quindi è meglio accedere all'elemento specifico e al 'trim' come ha fatto _ShankarSangoli_. – Smamatti

+0

grazie, in realtà fino a quando occupa spazio, lo spazio bianco è ok poiché voglio che la casella div sia di una certa lunghezza, quindi metti "leggi altro". Quindi in realtà sono più preoccupato di alcuni caratteri che non occupano spazio. – eastboundr

Problemi correlati