2015-10-14 2 views

ответ

5

Вы должны использовать insertAfter()

$(document).on('click', '.js-add-faq-row', function(){ 
    var tl = $('.faq-container:last'); 
    tl.clone().insertAfter(tl); 
}); 

или вам нужно сделать это, как это с after()

$(document).on('click', '.js-add-faq-row', function(){ 
    var tl = $('.faq-container:last'); 
    t1.after(tl.clone()); 
}); 

В вашем коде вы пытаетесь вставить элемент после клонированного элемента, который еще не является частью dom.

UPDATE: или более лучше и простой способ использования after() с обратным вызовом

$(document).on('click', '.js-add-faq-row', function(){ 
    $('.faq-container:last').after(function(){ 
     return $(this).clone(); 
    }); 
}); 
+0

жаль, что не работают слишком https://jsfiddle.net/ux0a4vqa/1/ –

+0

@OleksandrKhavdiy: отсутствует библиотеку JQuery в вашей скрипке, https: // jsfiddle. net/ux0a4vqa/2/ –

+1

круто, что работа, вы flash :) –

0

Проблема заключается в том, что вы пытаетесь добавить tlпосле клон, но клон не существует где-нибудь еще. Вы должны сделать это наоборот:

var clone = tl.clone(); 
tl.after(clone); 
Смежные вопросы