使用Jquery替换第n个字符后的所有字符

时间:2013-08-22 02:45:48

标签: javascript jquery

我有一个div,其中包含可变数量的文本。 div具有设定的高度,如果文本超过该高度,我想创建一个“阅​​读更多”链接。

我可以计算文本的长度,例如:

$(".longdesc").each(function() {
    var count = $(this).text().length
    console.log(count); 

    if(count > 100){
      //Replace additional characters with " ...Read More"
    };

});

但我不确定如何用“...阅读更多”替换第100个字符后面的所有字符。

有人知道如何解决这个问题吗?

5 个答案:

答案 0 :(得分:3)

if(count > 100){
    $(this).text($(this).text().substring(0, 100) + " ...Read More");
};

答案 1 :(得分:1)

if (count > 100) {
    $(this).text($(this).text().substring(0, 100) + ' ...Read More');
}

答案 2 :(得分:0)

尝试

$(".longdesc").text(function(idx, text) {
    return text.length > 100 ? text.substring(0, 100) + '...Read More' : text;
});

如果你想要一个链接

$(".longdesc").html(function(idx, html) {
    return html.length > 100 ? html.substring(0, 100) + '<a href="#">...Read More</a>' : html;
});

答案 3 :(得分:0)

您可以像这样更新整个div的HTML:

if (count > 100){
    var newText = $(this).text().substring(0,100);
    newText += "<a href='#'>Read More</a>";
    $(this).html(newText);
}

答案 4 :(得分:0)

使用切片:

text = text.slice(0, 100) + (text.slice(100)? "... Read More" : "");