JQuery appendTo() 到 html() 以允许替换

JQuery appendTo() to html() to allow replace

我有以下

$('.toggle_questions').appendTo('#'+sectionId).show();

这非常适合附加我的 div (.toggle_questions)。但是,我希望它每次都替换而不是添加。

据我了解,这是通过 html() 而不是 appendTo() 完成的?我只找到了添加简单 <p> 代码的示例,而不是实际的 <div>

我已经把它改成了这个,但它似乎没有任何作用:

$('#'+sectionId).show().html($('.toggle_questions')).show();

show() 是必需的,因为它一开始就设置为隐藏。

我哪里做错了?谢谢!

尝试将 html 字符串传递给 .html(),

$('#'+sectionId).html($('.toggle_questions').html()).show();

.html() 不会接受 jquery 对象作为其参数。

但是appendTo()会移动原来的对象。如果你想使用 .html() 做同样的事情,那么你必须在设置 html 字符串后手动删除它。

我会在每次出现时保存 $('.toggle_questions') 的内容并像这样应用它:

var content = $('.toggle_questions').html();
$('#' + sectionId).html(content).show()

代码更简洁,更易于维护。