我正在尝试创建一个函数,该函数将获取元素的文本,截掉超过 80 个字符,并在必要时添加省略号。到目前为止,这是我的代码:
var maxLength = 80;
function shorten(element) {
var text = $('#' + element).text();
var ret = text;
if (text.length > maxLength) {
text = text.substr(0,maxLength-3) + "...";
}
$('#' + element).text(text);
}
shorten('slide1');
因此,该函数应该获取该元素,删除末尾的多余文本,添加省略号,然后用我刚刚创建的新字符串替换元素中的旧文本。
当我运行该函数时,我没有收到任何错误,但它实际上并没有按应有的方式 chop 文本。这是为什么?
最佳答案
var text = "Some Text Goes Here. La La La La!";
var textLength = 10; // Number of characters to cut off after
function shorten(text, textLength){
if(text.length > textLength){
text = text.substring(0, textLength) + '…';
}
return text;
}
var shortText = shorten(text, textLength);
此外,使用 HTML 字符作为省略号比使用三个句点更好。
我添加了一个 Codepen,显示代码正在运行。此外,我添加了一个函数 spaceShorten
,它将在最后一次出现小于所提供长度的空格时分割文本,因此您不会分割文本中间的单词。
关于javascript - 如何在文本中添加省略号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26871646/