jQuery(".price_block1").text()
вернёт текст
первого элемента. в эотм то и проблема
я бы сделал так
$(document).ready(function(){
jQuery(".price_block1, .thisprise, .ald_price, .aldprice").each(function(i, elem){
elem = $(elem);
if( elem.text() !== "" ) elem.append("<small> руб</small>");
});
jQuery(".sale_block1, .sale").each(function(i, elem){
elem = $(elem);
if( elem.text() !== "" ) elem.append("<small> %</small>");
});
});