`clone`不会添加`after`之后的元素

Ole*_* IY 1 javascript jquery

我需要克隆元素并在onther elelment之后添加它.这段代码应该这样做但不起作用

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

小提琴就在这里

Pra*_*lan 5

你需要使用 insertAfter()

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

或者你需要像这样做 after()

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

在您的代码中,您尝试在克隆元素之后插入元素,该元素尚未成为dom的一部分.

更新:或者使用after()回调更好更简单的方法

$(document).on('click', '.js-add-faq-row', function(){
    $('.faq-container:last').after(function(){
        return $(this).clone();
    });
});
Run Code Online (Sandbox Code Playgroud)