我试图在文本长度达到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)+' ...';
});
}
});
有什么想法吗?
答案 0 :(得分:4)
你快到了!您的条件不是检查div中文本的长度。您正在检查jQuery对象的.length
,它等于1
(选择器找到的元素数)。您需要检查里面的实际文本 div
的长度。摆脱if
外部并在您传递给.text()
的函数内移动长度检查:
$(".trim").text(function(index, text) {
var newText = text;
if(text.length > 40) {
newText = text.substr(0, 40) + "...";
}
return newText;
});