jquery string +添加额外的字符开始

时间:2013-02-07 22:43:46

标签: jquery html

我有以下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无空格。

&nbsp; 

我很难理解如何做到这一点。

例如: 6个字符长的字符串 1.nbsp 2. nbsp 3.nbsp 4 - 9.字符串。

任何建议都会很棒。

THX

4 个答案:

答案 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, '&nbsp;'); // "1234567899"
padString('123456789', 9, '&nbsp;');  // "123456789"
padString('12345678', 9, '&nbsp;');   // "&nbsp;12345678"
padString('1234567', 9, '&nbsp;');    // "&nbsp;&nbsp;1234567"
padString('234567', 9, '&nbsp;');     // "&nbsp;&nbsp;&nbsp;234567"

这是小提琴:http://jsfiddle.net/8JdwP/

答案 1 :(得分:1)

您可以使用几个for循环来计算n9以及&nbsp;0之间的nfunction siteCounterUpdate(n) { var target = $('ul#indexSiteCounterBottom').empty(); for (var i=n.length;i<9;i++) { target.append('<li>&nbsp;</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;   
}

demo