Javascript 如何在jQuery中截断字符串?

Javascript 如何在jQuery中截断字符串?,javascript,jquery,string,Javascript,Jquery,String,我有很长的标题,想把它们删掉,但在某种程度上,我的意思是,删减发生在单词之间,而不是删减一个单词 如何使用jquery进行查询?发件人: 试试这个: var title = "This is your title"; var shortText = jQuery.trim(title).substring(0, 10) .split(" ").slice(0, -1).join(" ") + "..."; var title = "This is your title"; var

我有很长的标题,想把它们删掉,但在某种程度上,我的意思是,删减发生在单词之间,而不是删减一个单词

如何使用jquery进行查询?

发件人:

试试这个:

var title = "This is your title";

var shortText = jQuery.trim(title).substring(0, 10)
    .split(" ").slice(0, -1).join(" ") + "...";
var title = "This is your title";
var shortText = jQuery.trim(title).substring(0, 10)
                          .trim(this) + "...";
您还可以使用插件:

作为字符串的扩展

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

如果原始字符串没有空格,上面的解决方案将不起作用

试试这个:

var title = "This is your title";

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

有原型,无空间:

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

不要使用jQuery,而是使用css属性
文本溢出:省略号
。它将自动截断字符串

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

$.trim(title)是建议的-我同意,因为它将处理IET,这是一个边缘大小写,但是如果标题的第一个单词是10个或更多字符,那么它将返回“…”如果它正好切到单词的末尾,这不会失败吗?例如:“测试句子”。trimToLength(9)将删除第二个测试,即使它完全有效。回答得好。我会选择使用
&hellip而不是三个独立的点,但这确实是一个偏好的问题。完美!非常感谢您提供此修补程序。这会在字符串短于10个字符时添加省略(三个点)>jQuery.trim(“test”).substring(0,10).trim(this)+“…”;“测试…”如果字符串短于最大长度,则唯一不添加点的答案。这个解决方案可以处理比最大长度短的字符串,但会截断中间的单词。它实际上可以打断单词,但这正是我要搜索的。还有,漂亮的小胡子。我想它不会像段落中那样适用于多行文字。