2015-01-01 3 views
0
 $(".p").each(function(i){ 
      len=$(this).text().length; 
      if(len>80) 
      { 
      $(this).text($(this).text().substr(0,80)+'...'); 
      } 
     }); 

часть вывода прекрасно, как

abc def... 

, но некоторые из них будут как

1234 45 ... 

Как к обрезать пространство? Я пробовал $ .trim, но не работал.

+1

Вы можете обрезать левый или правый пространства, но не средние из них. – Edper

+0

'$ .trim' должен работать. Покажите, что вы пробовали. – Barmar

+0

Я думаю, он просто хочет избавиться от пробелов непосредственно перед '...', а не посередине. – Barmar

ответ

1

Это должно работать:

$(".p").text(function() { 
    var text = $(this).text(); 
    if (text.length > 80) { 
     return $.trim(text.substr(0, 80)) + '...'; 
    } else { 
     return text; 
    } 
}); 
+0

Спасибо! использование каждого в моем случае не обязательно? и последним} должно быть}); –

+0

Когда вы даете аргумент функции '.text()', он выполняет свой собственный цикл, поэтому вам не нужно использовать '.each()' – Barmar

Смежные вопросы