如何在jQuery中截断字符串?

时间:2011-01-09 06:12:28

标签: javascript jquery string

我有很长的头衔并希望截断它们,但是在某种程度上没有文字突破,我的意思是切割发生在不切词的单词之间。

我怎样才能使用jquery?

5 个答案:

答案 0 :(得分:122)

发件人: jQuery text truncation (read more style)

试试这个:

var title = "This is your title";

var shortText = jQuery.trim(title).substring(0, 10)
    .split(" ").slice(0, -1).join(" ") + "...";

你也可以使用插件:

作为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);

答案 1 :(得分:38)

如果原始字符串没有空格,则上述解决方案将无效。

试试这个:

var title = "This is your title";
var shortText = jQuery.trim(title).substring(0, 10)
                          .trim(this) + "...";

答案 2 :(得分:36)

  function truncateString(str, length) {
     return str.length > length ? str.substring(0, length - 3) + '...' : str
  }

答案 3 :(得分:5)

使用css属性text-overflow:ellipsis而不是使用jQuery。它会自动截断字符串。

.truncated { display:inline-block; 
             max-width:100px; 
             overflow:hidden; 
             text-overflow:ellipsis; 
             white-space:nowrap; 
           }

答案 4 :(得分:1)

原型而没有空间:

 String.prototype.trimToLength = function (trimLenght) {
    return this.length > trimLenght ? this.substring(0, trimLenght - 3) + '...' : this
};