JQuery клонирование в цикле? - PullRequest
0 голосов
/ 13 июня 2011

У меня есть вопрос о клонировании в цикле, на самом деле две проблемы, и я просто пытаюсь найти лучший способ обойти это, ниже мой код.

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

data.customers в формате json, поэтому я не могу указать длину. Моя проблема в том, что jquery всегда будет добавлять элемент клона в конце #customers, независимо от того. Мне нужно только добавить, если их еще один в коллекции JSON. Единственный способ сделать это - вернуть счетчик массива обратно как json и проверить, что ключ равен ему, что кажется абсурдным. Каков наилучший способ клонирования элементов при работе с циклом?

Может кто-нибудь помочь.

1 Ответ

2 голосов
/ 13 июня 2011

Вы можете сделать это:

Сначала создайте специальный «шаблон клонирования» для клиентов в своем 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 );
});
...