web-dev-qa-db-ja.com

jQueryで文字列を切り捨てる方法はありますか

私は長いタイトルを持っていますが、それらを切り捨てたいのですが、単語が途切れないように、単語を切断しない単語の間で切断が行われることを意味します。

Jqueryを使用してどうすればよいですか?

61
hd.

From:jQueryテキストの切り捨て(詳細スタイル)

これを試して:

var title = "This is your title";

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

また、プラグインを使用することもできます。

文字列の拡張として

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

元の文字列にスペースがない場合、上記のソリューションは機能しません。

これを試して:

var title = "This is your title";
var shortText = jQuery.trim(title).substring(0, 10)
                          .trim(this) + "...";
39
  function truncateString(str, length) {
     return str.length > length ? str.substring(0, length - 3) + '...' : str
  }
36
Keating Wang

JQueryを使用する代わりに、cssプロパティtext-overflow:Ellipsis。文字列を自動的に切り捨てます。

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

プロトタイプあり、スペースなし:

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