JavaScript обрезать после n символов - PullRequest
7 голосов
/ 08 декабря 2011

У меня есть HTML-страница, которая показывает имя динамически. Теперь это имя (FN LN) может составлять до 240 человек. Но на стороне пользовательского интерфейса я хочу обрезать FN / LN после примерно 50 символов и заменить на ...

Как я могу сделать это, используя Javascript / jQuery

Ответы [ 4 ]

16 голосов
/ 08 декабря 2011
$("#FN, #LN").each (function () {
  if ($(this).text().length > 50)
    $(this).text($(this).text().substring(0,50) + '...');
});

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

6 голосов
/ 08 декабря 2011

Что-то простое, как:

if (name.length > 50) {
    name = name.substr(0,50)+'...';
}
3 голосов
/ 08 декабря 2011

вот способ регулярного выражения:

text.replace(/(^.{50}).*$/,'$1...');  

Поскольку вы спросили, хотите ли вы использовать эту функцию, вы можете создать из нее плагин:

$.fn.trimAfter(n,replacement){
    replacement = replacement || "...";
    return this.each(function(i,el){
        $(el).text($(el).text().substring(n) + replacement);
    });
}

И используйте это так:

$("#FN, #LN").trimAfter(50,'...');
3 голосов
/ 08 декабря 2011
if ($('#name').text().length > 50)
{
    $('#name').text( $('#name').text().substring(0,50)+"..." );
}

Но вы также можете использовать CSS для этого: http://mattsnider.com/css/css-string-truncation-with-ellipsis/

...