0
<body>
    <section id="que-container">
        <div class="num" style="display: none">1000</div>
        <section id="numberContainer">
            <span class="number"></span>
        </section>

        <br class="clear">
    </section>
    <script src="components/jquery/jquery.min.js"></script>
    <script src="components/bootstrap/js/bootstrap-button.js"></script>
    <script src="components/bootstrap/js/bootstrap-carousel.js"></script>
    <script src="js/scripts.js"></script>
    <script>
    $(document).ready(function(){
        var numbers = $('.number');
        var num = $(".num").html();
        var arr = num.split('');

        for (var i = 1; i < arr.length ; i++) {
            $('#numberContainer').append(numbers.clone());
            $('.number').append(arr[i]);
        }

        $('.number').each(function(i, val) {
            $(this).addClass('numStyle');
        })
    });
    </script>
</body>

「.num」div内の値を取得して配列に変換し、配列の項目を「number」クラスのスパン内の「#numberContainer」に追加しようとしています。コンソールでエラーが発生していませんが、コードが機能していないようです。助けはありますか?ありがとう

4

3 に答える 3

1

配列は0インデックスベースであるため、コードは次のようにする必要があります。

フィドル: http://jsfiddle.net/DZJ6p/

var numbers = $('.number');
var num = $(".num").html();
var arr = num.split('');

for (var i = 0; i < arr.length; i++) {
   $('#numberContainer').append(numbers.clone().append(arr[i]));
}

$('.number').each(function(i, val) {
   $(this).addClass('numStyle');
});
于 2012-12-27T06:15:03.550 に答える
0

あなたはここで間違ったセレクターを持っています

$('.numbers').append(arr[i]); // i didn't find any element with numbers class

そのはず

 $('.number').append(arr[i]);

また

  numbers.append(arr[i]);

更新しました

for ループは var i を 1 として開始します... arr の最初のインデックス、つまり arr[0] がありません。これを youe コードで使用しました。

$('#numberContainer').append(numbers.clone().append(arr[i]));  // u can use text(arr[i])) here

ここにフィドルがあります...

http://jsfiddle.net/zLHxV/

于 2012-12-27T05:38:00.340 に答える
0

を使用している理由がわかりません$('#numberContainer').append(numbers.clone());。私があなたのコードをそこに置いたjsフィドルを見てもらえますか。

于 2012-12-27T05:49:42.570 に答える