Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Setting a length limit to <p> elements

What I need to accomplish 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?

like image 639
Fizzler Avatar asked Jan 11 '23 20:01

Fizzler


1 Answers

A 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.

like image 102
charlietfl Avatar answered Jan 18 '23 02:01

charlietfl