如何截断结果标题?

时间:2012-05-06 12:30:46

标签: javascript string

我使用soundclouds api来回显赛道信息,但是我想将每个赛道标题结果显示的字符数量限制为24个字符?我也希望能够将曲目标题和艺术家标题都设置为大写文本(首字母大写小写)

谢谢

 <li><a href="' + track.permalink_url +'">Track: ' + track.title + '<BR>Artist: '+ track.user.username + '</a></li>'

3 个答案:

答案 0 :(得分:3)

试试这个:

function formatter(str) {
    if(str.length < 24) {
      return str;
    } else {
      return str.charAt(0).toUpperCase() + str.substr(1,23) + '..';
    }   
}

<li><a href="' + track.permalink_url +'">Track: ' + formatter(track.title) + '<BR>Artist: '+ formatter(track.user.username) + '</a></li>'

<强> DEMO

答案 1 :(得分:0)

对于问题的第1部分,请查看substr method。它是所有JavaScript String对象的标准方法。

对于第2部分,大写,请查看this question

答案 2 :(得分:0)

您可以提前准备短标题,首先获取子字符串并确保它是小写:

var shortTitle = track.title.substr(0,24).toLowerCase();

然后使用以下大写的第一个字母并使用小写字符串的其余部分,添加...

// ... HTML ouput by JS ...

document.write(shortTitle.charAt(0).toUpperCase() + shortTitle.slice(1));

if (shortTitle.length > 24)
    document.write('...');

// ... HTML output by JS ...

Here in an example

您可以为作者重复这些步骤。