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],我在你的代码中使用了这个。

$('#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 fiddle吗?

于 2012-12-27T05:49:42.570 回答