What I need to acplish is simple - set the limit of the length of paragraph elements to 60 characters. The jQuery script I have written is as follows:
$('p.classname').each(function(){
var paragraph = $(p.description).text();
var strlength = paragraph.length;
var maxlength = 60;
strlength < maxlength;
});
I can still include more than 60 characters in the elements. How can I limit it to 60?
What I need to acplish is simple - set the limit of the length of paragraph elements to 60 characters. The jQuery script I have written is as follows:
$('p.classname').each(function(){
var paragraph = $(p.description).text();
var strlength = paragraph.length;
var maxlength = 60;
strlength < maxlength;
});
I can still include more than 60 characters in the elements. How can I limit it to 60?
Share Improve this question edited Nov 22, 2013 at 3:56 asked Nov 22, 2013 at 3:51 user2830163user2830163 1-
1
What's
strlength < maxlength;
supposed to do? – j08691 Commented Nov 22, 2013 at 3:53
2 Answers
Reset to default 5A simple approach using text()
with a callback which loops though all elements in the same way each
will:
$('p.classname').text(function(i, txt) {
return txt ? txt.slice(0,60) : txt;
});
One major problem in your code is $('p.description').text();
will get text for all paragraphs in the page concatenated together. You need to isolate the instance of each paragraph. To do it within an each
loop would be
$('p.description').each(function() {
/* text for current paragraph */
var text = $(this).text();
});
You are also using invalid selectors without quotes, and you never do anything with the text other than check its length.
Looks like you want to trim the contents to a max of 60 chars then
var maxlength = 60;
$('p.classname').text(function (_, text) {
return $.trim(text).substring(0, maxlength);
});