如何在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 };