循环中的jquery克隆?

时间:2011-06-13 10:10:35

标签: jquery ajax json clone each

我有一个关于循环内克隆的问题,实际上有两个问题,我只是想找到解决它的最佳方法,下面是我的代码。

$.each(data.customers,function(key, value){
    $('.customer').find('label').eq(0).text( value.name );
    $('.customer').eq(0).clone().appendTo('#customers');
});

data.customers是json格式,所以我不能对它做一个.length。我的问题是jquery总是会在#customers的末尾追加一个克隆元素。如果他们是json集合中的另一个,我只需要追加。我能想到的唯一方法是将数组的计数返回为json,并检查键是否等于它似乎是荒谬的。什么是处理循环时克隆元素的最佳方法?

任何人都可以提供帮助。

1 个答案:

答案 0 :(得分:2)

你可以这样做:

首先,为HTML中的客户创建一个特定的“克隆模板”,通过CSS(.template {display: none;})使其不可见。

然后,在你的循环中:

$.each(data.customers, function (key, value) {
    var $newCustomer = $('#customers .customer.template').clone();

    $newCustomer.removeClass("template").find('label:first').text( value.name );
    $('#customers').append( $newCustomer );
});