我使用soundclouds api来回显赛道信息,但是我想将每个赛道标题结果显示的字符数量限制为24个字符?我也希望能够将曲目标题和艺术家标题都设置为大写文本(首字母大写小写)
谢谢
<li><a href="' + track.permalink_url +'">Track: ' + track.title + '<BR>Artist: '+ track.user.username + '</a></li>'
答案 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 ...
您可以为作者重复这些步骤。