Как клонировать клонированные объекты DOM в jQuery - PullRequest
0 голосов
/ 29 июня 2011

У меня есть <div class="OptionRow"> s, за которыми следует <a class="AddGroup">

Внутри .OptionRow s у меня есть X, чтобы удалить эту строку.

.AddGroup работает нормально до IXоригинальный элемент, который был клонирован.Вот мой код для клонирования и X

$('.AddGroup').click(function(e) {
    e.preventDefault();
    var $this = $(this);
    $this.parent().siblings('.OptionRow:first').clone(true, true).hide().insertBefore($this).fadeIn();
});
$('.CloseGroup').click(function(e) {
    e.preventDefault();
    $(this).parents('.OptionRow').fadeOut('fast', function() {
        $(this).remove();
    });
});

Ответы [ 2 ]

0 голосов
/ 29 июня 2011

В соответствии с предложением @ Microprocessor, я изучил HTML и понял, что клон .OptionRow вставляется не в то место в DOM. Я решил проблему, используя .insertBefore($this.parent()) вместо .insertBefore($this). Спасибо @Microprocessor, я не знаю, почему я не сделал этого раньше.

0 голосов
/ 29 июня 2011

У клона не будет обработчиков, которые были у оригинала.

Попробуйте использовать .live('click', function(e){...}) для обработчиков кликов, которые могут решить проблему

...