Использовать jQuery.each() (
фиддл)
var size = 30, blogContent = $('.block p');
blogContent.each(function(e){
var $el = $(this), html = $el.html();
if( html.length > size) html = html.slice(0,size) + '…<a href="#" class="read-more-button">read more</a>';
$el.html(html);
});
Но вообще это так-себе затея, т.к. может ломаться разметка – например, отгрызаться незакрытый тег.
По-хорошему, надо либо убрать все теги, используя вместо .html() – .text(), либо ограничивать длину, урезая только содержание текстовых нод.
p.s. вместо троеточия используйте html-entity
…