闭包函数正在附加循环中的所有索引

Closure function is appending all index from loop

我正在尝试使用循环将索引值附加到元素。我做了一个 closure 以避免附加多个索引。

但我的 closure 函数仍在将多个(上一个)索引添加到 dom

    var $newdiv = $('.div').clone().removeClass('div').addClass('show')
    $col = $('<div />');
   var add = function () {
    for(var i=1; i<=10; i++){
        (function x (n) {
            return function () { //not working!
                $newdiv.find($('a span').append(n)).end().clone().appendTo($col);
            }();
        }(i));
    }

}

$col.appendTo('#content');
$('button').click(function () { add()});
$('#content').slimScroll({});

Live

我这样更新了我的代码。它工作正常。

var $newdiv = $('.div').clone().removeClass('div').addClass('show')
    $col = $('<div />');
var n = 0;
   var add = function () {
    for(var i=1; i<=10; i++){
         $newdiv.clone().removeClass('div').addClass('show')
         .find('span').append(n = n < 9 ? '0'+(++n) : ++n).end().clone().appendTo($col);
    }

}

$col.appendTo('#content');
$('button').click(function () { add()});
$('#content').slimScroll({});