2013-08-22 141 views
1

我有一個div中包含可變數量的文本。該div有一個設定的高度,如果文本超過了這個高度,我想創建一個「Read More」鏈接。使用jquery替換第n個字符後的所有字符

我能算文本witing的div的長度,例如:

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

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

}); 

但我不確定如何與字符100替換後的所有字符「...閱讀更多」 。

有人會知道如何去做這件事嗎?

回答

3
if(count > 100){ 
    $(this).text($(this).text().substring(0, 100) + " ...Read More"); 
}; 
1
if (count > 100) { 
    $(this).text($(this).text().substring(0, 100) + ' ...Read More'); 
} 
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; 
}); 
0

你可以更新整個div的在HTML像這樣:

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

使用切片:

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