设置<p>元素的长度限制

4
我需要完成的目标很简单 - 将段落元素的长度限制为60个字符。我编写的jQuery脚本如下:
$('p.classname').each(function(){
var paragraph = $(p.description).text();
var strlength = paragraph.length;
var maxlength = 60;
strlength < maxlength; 
});

我仍然可以在<p>元素中包含超过60个字符。如何将其限制为60个字符?


1
strlength < maxlength; 这段代码的作用是什么? - j08691
2个回答

5

使用带有回调函数的 text() 的简单方法,该函数通过循环所有元素以与 each 相同的方式执行:

$('p.classname').text(function(i, txt) {
    return txt ? txt.slice(0,60) : txt;
});

你代码中的一个主要问题是$('p.description').text();将获取页面上所有段落的文本并将它们连接在一起。你需要对每个段落实例进行隔离。在each循环内部完成这个任务可以这样:

$('p.description').each(function() {
    /* text for current paragraph */
    var text = $(this).text();
});

您还在使用没有引号的无效选择器,而且除了检查其长度之外,您从未对文本做任何事情。


4

看起来你想把内容裁剪到最多60个字符

var maxlength = 60;
$('p.classname').text(function (_, text) {
    return $.trim(text).substring(0, maxlength);
});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接