0

当文本长度达到 40 个字符时,我试图截断 div 中的文本量,并在截断后添加省略号。这是我的代码:

jQuery(document).ready(function($) {
$(".trim").text(function(index, text) {
return text.substr(0, 40)+' ...';
});
});

问题是即使字符长度小于 40 个字符,它也会添加省略号,即使文本没有被截断也会添加省略号。所以接下来我尝试了一个条件来仅在字符长度小于 40 个字符时运行该函数,但无济于事:

jQuery(document).ready(function($) {
if($(".trim").length > 40) {
$(".trim").text(function(index, text) {
return text.substr(0, 40)+' ...';
});
}
});

有任何想法吗?

4

1 回答 1

4

您快到了!您的条件不是检查 div 中文本的长度。您正在检查.lengthjQuery 对象,它等于1(选择器找到的元素数)。您需要检查. div摆脱if外部并将长度检查移动到您传入的函数中.text()

$(".trim").text(function(index, text) {
    var newText = text;

    if(text.length > 40) {
        newText = text.substr(0, 40) + "...";
    }

    return newText;
});
于 2013-11-12T21:25:13.550 回答