J'ai de longs titres et je veux les tronquer, mais de manière à ce qu'aucun mot ne se casse, je veux dire que la coupure se produit entre des mots, pas un mot.
Comment puis-je le faire en utilisant jQuery?
J'ai de longs titres et je veux les tronquer, mais de manière à ce qu'aucun mot ne se casse, je veux dire que la coupure se produit entre des mots, pas un mot.
Comment puis-je le faire en utilisant jQuery?
Essaye ça:
var title = "This is your title";
var shortText = jQuery.trim(title).substring(0, 10)
.split(" ").slice(0, -1).join(" ") + "...";
Et vous pouvez aussi utiliser un plugin:
En tant qu'extension de String
String.prototype.trimToLength = function(m) {
return (this.length > m)
? jQuery.trim(this).substring(0, m).split(" ").slice(0, -1).join(" ") + "..."
: this;
};
Utilisé comme
"This is your title".trimToLength(10);
J'ai écrit un petit plugin jQuery qui fait exactement ceci: http://micjamking.github.io/succinct/
Il traite le cas de bord abordé ci-dessus (chaînes avec des longueurs indéfinies) et fournit également des options pour longueur maximale, texte d'omission (par défaut: points de suspension (...)) et ignorer les lignes se terminant par des caractères spéciaux.
C'est ma solution: https://gist.github.com/ChrisCinelli/5688048
La fonction truncText(text, maxLength, ellipseText)
tronque un paragraphe en caractères de longueur maximale. Ça ne casse pas les mots. ellipseText est facultatif (par défaut:…). Cela ne fonctionnera pas avec des caractères autres que des lettres AZ ou des chiffres. Il revient en arrière jusqu'à ce qu'il y ait un espace et ajoute l'ellipseText. C'est du javascript simple, jQuery est optonal.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.