1

10までの番号のリストがあります:1、2、3、4、5、6、7、8、9、10

数字の10を除いて、各数字の前にゼロを付ける必要があります。

したがって、次のようになります:01,02,03,04,05,06,07,08,09,10

HTMLは次のようになります。

<p class=​"number weight-400">​1</p>​
<p class=​"number weight-400">​2​&lt;/p>​
<p class=​"number weight-400">​3​&lt;/p>​
<p class=​"number weight-400">​4​&lt;/p>​
<p class=​"number weight-400">​5​&lt;/p>​
<p class=​"number weight-400">​6​&lt;/p>​
<p class=​"number weight-400">​7​&lt;/p>​
<p class=​"number weight-400">​8​&lt;/p>​
<p class=​"number weight-400">​9​&lt;/p>​
<p class=​"number weight-400">​10​&lt;/p>​

私はそれらすべてを取得するjqueryを持っていますが、10番目ではなく最初の9つだけにゼロを追加する方法を理解する必要があります:

$("p.number").each(function(i, index){
    if (index < 10){

    }
});

しかし、私の各関数は<p>、pタグ内の整数ではなく、すべてを取得します。

4

4 に答える 4

8
$("p.number").text(function(i, val){
    return $.trim(val).length === 1 ? '0' + val : val;
});

.text()コレクション全体でメソッドを呼び出すと、コレクション内のアイテムごとに指定した関数が呼び出されます。関数から返される値は、現在の要素の新しいテキストになります。

于 2013-02-24T01:34:16.500 に答える
5

正規表現を使用した別のオプション:

$('.number').text(function(i, txt) {
  return txt.replace(/^\d$/, '0$&');
});

http://jsbin.com/axuyiv/1/edit

于 2013-02-24T01:38:56.623 に答える
1
$("p.number").each(function(i, elem){
    var numb = parseInt( $(elem).text(), 10 );

    numb = numb < 10 ? '0' + numb : numb;
    $(elem).text(numb);
});

フィドル

于 2013-02-24T01:26:02.100 に答える
1

これが簡単な汚い方法です:

var num = 2;
num = (num < 10)?("0"+num):num;  //"02"

ハ私はあなたをだましました。汚いコードでもありません。

于 2013-02-24T01:34:55.277 に答える