如何在jQuery中截断string?
我有很长的标题,想要截断它们,但是没有任何词语突破,我的意思是切割之间发生不切词的词语。
我怎样才能使用jQuery?
尝试这个:
var title = "This is your title"; var shortText = jQuery.trim(title).substring(0, 10) .split(" ").slice(0, -1).join(" ") + "...";
- 在这里testing
你也可以使用一个插件:
- jQuery扩展插件
作为String的扩展
String.prototype.trimToLength = function(m) { return (this.length > m) ? jQuery.trim(this).substring(0, m).split(" ").slice(0, -1).join(" ") + "..." : this; };
用于
"This is your title".trimToLength(10);
如果原始string没有空格,上面的解决scheme将不起作用。
尝试这个:
var title = "This is your title"; var shortText = jQuery.trim(title).substring(0, 10) .trim(this) + "...";
function truncateString(str, length) { return str.length > length ? str.substring(0, length - 3) + '...' : str }
而不是使用jQuery,使用CSS属性text-overflow:ellipsis
。 它会自动截断string。
.truncated { display:inline-block; max-width:100px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
与原型和没有空间:
String.prototype.trimToLength = function (trimLenght) { return this.length > trimLenght ? this.substring(0, trimLenght - 3) + '...' : this };