我需要完成的工作很简单 - 将段落元素长度的限制设置为60个字符。我写的jQuery脚本如下:
$('p.classname').each(function(){
var paragraph = $(p.description).text();
var strlength = paragraph.length;
var maxlength = 60;
strlength < maxlength;
});
我仍然可以在元素中包含超过60个字符。 我怎样才能将它限制在60?
答案 0 :(得分: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();
});
您还使用了无引号的无效选择器,除了检查其长度之外,您再也不对文本做任何事情。
答案 1 :(得分:4)
您希望将内容修剪为最多60个字符,然后
var maxlength = 60;
$('p.classname').text(function (_, text) {
return $.trim(text).substring(0, maxlength);
});