我有很长的头衔并希望截断它们,但是在某种程度上没有文字突破,我的意思是切割发生在不切词的单词之间。
我怎样才能使用jquery?
答案 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
};