Estoy sacando de una fuente JSON y solo quiero mostrar un máximo de 10 caracteres de la cadena y luego hacer un ... después. ¿Cómo hago eso con JQuery?Establecer límite de caracteres para mostrar en un párrafo
Respuesta
que no es necesario jQuery, JS puede hacer eso:
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
No he comprobado esto por un error, por lo que es posible que deba ajustar la indexación deficiente.
var txt = SomeStringFromFeed;
if(txt.length > 10)
{
txt = txt.substr(0,10) + "...";
}
return txt;
Puede utilizar CSS para establecer una elipsis:
.myparagraph {
white-space: nowrap;
width: 10em;
overflow: hidden;
text-overflow: ellipsis;
}
Entonces no hay necesidad de ningún jQuery u otra codificación
Referencias:
(tenga en cuenta que el primer enlace - Quirksmode.org es un excelente recurso generalmente para CSS y cosas Javascript)
Cool uso de CSS. No sabía sobre desbordamiento de texto, tendré que aprender más al respecto. –
Elipsis de CSS es genial, pero solo admite una línea de textos – JoenasE
No creo que la solución CSS mencionada por @spudley sea un navegador cruzado (no es compatible con Firefox). Suponiendo que te preocupes por eso, por supuesto. El primer enlace que proporciona indica incluso el soporte limitado en la esquina superior derecha de la página.
Ahora, una vez dicho esto, tengo una pequeña función que puede ser exagerada para lo que necesita, pero he encontrado que la uso regularmente en situaciones similares. El siguiente código ha sido comentado, pero lo que hace es que solo inserta una elipsis después de la última palabra completa en función del límite establecido.
para que pueda volver "El perro salta ..." en lugar de "El perro 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('');
}
Tienes razón, por supuesto, Firefox * aún no lo admite * (¿ojalá?). Pero todos los demás navegadores lo soportan (incluso IE hasta IE5.5), por lo que tiene buena cobertura e incluso Firefox lo trunca correctamente. Además, hay soluciones prácticas para hacer que funcione en Firefox usando XUL ... pero esa es otra pregunta y respuesta. – Spudley
@Spudley es una buena solución. Personalmente espero con anticipación cuándo funcionará este navegador cruzado. Solo quería asegurarme de que él/ella (y cualquier otra persona que pudiera encontrar respuestas a esta pregunta) estuviera consciente de que si sus necesidades requieren una solución de navegador cruzado, es posible que no funcione para ellos como se esperaba. –
genial. Voy a tratar de usar esto – JoenasE
- 1. Mostrar la primera línea de un párrafo
- 2. Establecer margen izquierdo para un párrafo en html
- 3. establecer solo límite inferior de un límite para ggplot
- 4. Límite de caracteres para System.out.println() en Java
- 5. Límite de caracteres en HTML
- 6. ¿Cómo establecer un límite para la consulta interna en Hibernate?
- 7. Establecer un límite de tiempo de espera para readLine()?
- 8. Truncar el primer párrafo de 100 caracteres y ocultar el contenido del resto del párrafo para mostrar/ocultar el resto del conflicto con el enlace más/menos
- 9. Contar caracteres en el párrafo utilizando jQuery (* no * para input/textarea)
- 10. Juego de caracteres Oracle JDBC y límite de caracteres 4000
- 11. Mostrar caracteres ocultos en NSTextView
- 12. establecer el límite de recursión de python para una función
- 13. Emacs: configuración de fuente para mostrar caracteres Unicode en OSX
- 14. Obtener texto de un párrafo en jquery
- 15. Mostrar caracteres ASCII extendidos
- 16. ¿Cómo se puede establecer un límite de tiempo para ejecutar un script de PowerShell?
- 17. ¿Cómo puedo ocultar un párrafo en un FlowDocument?
- 18. ¿Puedo establecer un límite de tiempo para un bloque de código?
- 19. Explota un párrafo en oraciones en PHP
- 20. Cómo establecer un nombre para mostrar para un campo en Rails
- 21. En Xcode4, ¿puedes cambiar los caracteres utilizados para mostrar invisibles?
- 22. límite de cuántos caracteres se pueden pegar en textarea
- 23. Mostrar caracteres especiales usando System.out.println
- 24. Establecer R traza x eje para mostrar en y = 0
- 25. ¿Hay un límite de 4096 caracteres para los nodos de texto JavaScript XML?
- 26. ¿Hay un límite para System.IO.FileShare?
- 27. Establecer un límite para el valor mínimo para el control deslizante jQuery UI
- 28. Límite de facturación para Heroku
- 29. Límite S3 para objetos en un cubo
- 30. Escribir un párrafo usando textview en Android
se editan su pregunta para incluir una parte del código que ya ha escrito para obtener más respuestas. +1 para los nuevos usuarios que votan sin motivo aparente. –