Sto prelevando da un feed JSON e voglio solo visualizzare un massimo di 10 caratteri della stringa e poi fare un ... dopo. Come faccio a farlo con JQuery?Imposta il limite di caratteri da visualizzare in un paragrafo
risposta
non hai bisogno di jQuery, JS può farlo:
string.substr(start,length) start The index where to start the extraction. First character is at index 0 length The number of characters to extract. If omitted, it extracts the rest of the string
Non ho verificato questo errore per un errore, quindi potrebbe essere necessario regolare l'indicizzazione.
var txt = SomeStringFromFeed;
if(txt.length > 10)
{
txt = txt.substr(0,10) + "...";
}
return txt;
È possibile utilizzare i CSS per impostare i puntini di sospensione:
.myparagraph {
white-space: nowrap;
width: 10em;
overflow: hidden;
text-overflow: ellipsis;
}
Allora non c'è bisogno di alcun jQuery o altra codifica.
Riferimenti:
(notare che primo anello - Quirksmode.org è una risorsa eccellente in generale per CSS e roba Javascript)
Cool uso di CSS. Non sapevo di overflow di testo, dovrò saperne di più su di esso. –
I puntini di sospensione dei CSS sono fantastici ma supportano solo una riga di testo – JoenasE
Non credo che la soluzione CSS menzionata da @spudley sia cross browser (nessun supporto per Firefox). Supponendo che ti interessi ovviamente. Il primo link che fornisce indica anche il supporto limitato nell'angolo in alto a destra della pagina.
Ora, avendo detto che ho una bella piccola funzione che potrebbe essere esagerata per quello che ti serve, ma ho trovato che la uso regolarmente in situazioni simili. Il codice riportato di seguito è stato commentato, ma ciò che fa è solo inserire un'ellissi dopo l'ultima parola completa in base al limite impostato.
Così si può tornare "Il cane salta ..." invece di "Il cane salta ove ..."
// ==============================================================================================
// Truncate a string to the given length, breaking at word boundaries and adding an elipsis
// @param str - String to be truncated
// @param limit - integer Max length of the string
// @returns a string
// ==============================================================================================
function truncate(str, limit) {
var chars;
var i;
// check if what was passed as a string is actually a string
if (typeof(str) != 'string') {
return '';
}
// create an array of the chars in the string
chars = str.split('');
// if the length is greater than the set limit, process for truncating
if (chars.length > limit) {
// while the char count is greater than the limit,
for (i = chars.length - 1; i > -1; --i) {
// if char count is still greater, redefine the array size to the value of i
if (i > limit) {
chars.length = i;
}
// if char count is less than the limit keep going until you hit a space
// and redefine the array size to the value of i
else if (' ' === chars[i]) {
chars.length = i;
break;
}
}
// add elipsis to the end of the array
chars.push('...');
}
// return the array as a string
return chars.join('');
}
Ovviamente, non è supportato da Firefox * ancora * (presto si spera?). Ma tutti gli altri browser lo supportano (anche IE fino a I5.5), quindi ha una buona copertura e persino Firefox lo tronca correttamente. Inoltre ci sono workbugs hacky per farlo funzionare in Firefox usando XUL ... ma questa è tutta un'altra domanda e risposta. – Spudley
@Spudley è una bella soluzione. Personalmente non vedo l'ora che funzioni con cross browser. Volevo solo assicurarmi che lui/lei (e chiunque altro potesse imbattersi in questa domanda per avere delle risposte) fosse consapevole del fatto che, se le loro esigenze richiedono una soluzione cross browser, potrebbe non funzionare come previsto. –
cool. Proverò a usarlo – JoenasE
- 1. Numero massimo di caratteri in un tag div/paragrafo
- 2. imposta solo limite inferiore di un limite per ggplot
- 3. ItextSharp (Itext) - imposta il carattere personalizzato per il paragrafo
- 4. Ottenere testo da un paragrafo in jquery
- 5. Superato il limite di caratteri VBA InputBox
- 6. Printf() - limite di caratteri stampati
- 7. Imposta limite di memoria per il debug in Visual Studio
- 8. Limite di caratteri per System.out.println() in Java
- 9. Imposta il limite di timeout della sessione in joomla
- 10. Knockout: limite numero di caratteri in un campo osservabile
- 11. Set di caratteri JDBC Oracle e limite di 4000 caratteri
- 12. Paragrafo ignora stile a causa di un altro paragrafo nidificato
- 13. Razionale per limite minimo di caratteri 509
- 14. C#: un modo per aggirare il limite di 260 caratteri di un percorso completo?
- 15. Imposta testo paragrafo con javascript sul caricamento della pagina
- 16. Limite di caratteri su Instagram Nome utente
- 17. Imposta limite di memoria processo (o utente) di Windows
- 18. Imposta set di caratteri usando MySQLi
- 19. Come limitare il limite di caratteri per riga o # di caratteri con css?
- 20. esplodere un paragrafo in frasi in PHP
- 21. stampa il primo paragrafo in pitone
- 22. Limite di caratteri di una stringa di stringa javascript
- 23. Esiste un limite al numero di elementi html, che il browser può visualizzare senza problemi?
- 24. imposta il titolo del frammento della finestra di dialogo per visualizzare da destra
- 25. Come visualizzare caratteri giapponesi in JTextArea
- 26. Impostare il margine sinistro per un paragrafo in html
- 27. ottenere testo paragrafo da pdf utilizzando itextsharp
- 28. MigraDoc - Grassetto di un testo in un paragrafo
- 29. Come ottenere il testo all'interno di un paragrafo con JavaScript
- 30. Come controllare su quale lato appare un paragrafo di margine?
Si modifica la tua domanda per includere una parte del codice che avete già scritto per ottenere più risposte. +1 per il nuovo utente che scende votato per nessun motivo elencato. –