0

たくさんのテキストを表示する div がありますが、75 文字だけを表示し、残りのテキストは ... に置き換えます。

<div class="text-info">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation</div>

$('text-info').replaceWith(this).length(75 + "...");
4

4 に答える 4

6
var text = $(".text-info").text();
var len = text.length;

if(len > 75){
  $(".text-info").text($(".text-info").text().substr(0,74)+'...  ');
}
于 2013-04-24T19:26:28.030 に答える
1

質問を文字通りに解釈すると、75 文字だけを表示したい場合は、@MohammadAdil が提案するように単純に行うことができます。ただし、最終的には 79 文字 (74 + 3 (...) + 2 つのスペース) になります。72 文字をプルして"...".投稿の 75 文字を意味し、省略記号を追加しただけです。

私の個人的な推奨事項は、これを実行できるライブラリに任せることです (または、可能であればライブラリを使用します)。Underscoreは、多数の便利なユーティリティを含むかなり小さなライブラリであり、組み込みが可能かどうかとその実装 (定義されている場合に_.each使用するなど) を決定する作業を行います。Array#forEachそうは言っても、underscore.string_.toSentenceはアンダースコアのアドオンであり、取ると配列のよう["one", "two", "three"]に返すなどの便利な文字列操作関数が多数含まれています"one, two and three"が、さらに重要なことはtruncate、とを取得することですprune

truncate文字列が制限に達している場合にpruneのみ切り捨てを実行します。たとえば、次のようになります。

// Assume the underscore.string functions have bene mixed into _
_.truncate("Hello, World", 5) // "Hello..."
_.truncate("Hello", 10) // "Hello"

このtruncate関数は、文の途中でテキストをカットします。これは、prune指定された長さに最も近い単語区切りでテキストを切り刻むため、よりクリーンな代替手段です。彼らの例によると:

_.prune("Hello, cruel world", 15) // "Hello, cruel..."
// for comparison
_.truncate("Hello, cruel world", 15) // "Hello, cruel wo..."
于 2013-04-24T19:39:58.280 に答える
0

このようなものが動作します:

(".text-info").text($(this).text().substr(0, 75)+'...');

また、セレクターのクラス識別子を忘れないでください。.

于 2013-04-24T19:22:20.437 に答える
0

あなたはこれを試すことができます

$(".text-info").text(function(){
    return $(this).text().length > 75 ? $(this).text().substr(0, 75)+'...' : $(this).text();
});

デモ。

于 2013-04-24T19:31:12.477 に答える