我需要克隆元素并在on ele元素之后添加它。这段代码应该这样做但不能正常工作
$(document).on('click', '.js-add-faq-row', function(){
var tl = $('.faq-container:last');
tl.clone().after(tl);
});
答案 0 :(得分: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的一部分。
使用带回调的after()
更新或更简单明了的方式
$(document).on('click', '.js-add-faq-row', function(){
$('.faq-container:last').after(function(){
return $(this).clone();
});
});
答案 1 :(得分:0)
问题是您尝试在克隆之后添加tl
,但克隆在任何地方都不存在。你需要反过来做这件事:
var clone = tl.clone();
tl.after(clone);