我有以下JQUERY功能:
function siteCounterUpdate(n) {
$('ul#indexSiteCounterBottom').empty();
for(i=0;i<9;i++) {
//alert(n.toString()[i]);
$('ul#indexSiteCounterBottom').append('<li>'+n.toString()[i]+'</li>');
$('ul#indexSiteCounterBottom li:nth-child(3n)').addClass('extra-margin');
}
}
该函数接收一个数字(字符串),如果它的9个字符长,它可以完美地工作。 9是全长。
但是,如果数字长度为7个字符,我需要将前2个项目替换为HTML无空格。
我很难理解如何做到这一点。
例如: 6个字符长的字符串 1.nbsp 2. nbsp 3.nbsp 4 - 9.字符串。
任何建议都会很棒。
THX
答案 0 :(得分:2)
以下是填充字符串的方法:
function padString (str, len, padWith) {
var padLength = len - str.length;
return padLength < 1 ? str : Array(padLength + 1).join(padWith) + str;
}
样本用法:
padString('1234567899', 9, ' '); // "1234567899"
padString('123456789', 9, ' '); // "123456789"
padString('12345678', 9, ' '); // " 12345678"
padString('1234567', 9, ' '); // " 1234567"
padString('234567', 9, ' '); // " 234567"
答案 1 :(得分:1)
您可以使用几个for
循环来计算n
和9
以及
和0
之间的n
和function siteCounterUpdate(n) {
var target = $('ul#indexSiteCounterBottom').empty();
for (var i=n.length;i<9;i++) {
target.append('<li> </li>');
}
// `i` doesn't have to be declared again because there's no block
// scope in JavaScript, but I think it looks ugly otherwise :(.
for (var i=0;i<n.length;i++) {
target.append('<li>' + n + '</li>');
}
}
你的字符串:
{{1}}
答案 2 :(得分:1)
我可能会对你想要的东西感到困惑,但是你可以正确地对齐计数器,这样你就不需要空格吗?
如果没有,您可以创建一个类似于here所述的填充函数。
答案 3 :(得分:0)
while (yourString.length < 9)
{
yourString = "\u00A0" + yourString;
}