我的页面上有一个 div,它充当存储其他 div 的 shell。页面加载,外壳隐藏且为空。 在 jQuery 事件中,我显示 shell 并用触发的 div 填充它。 通常,触发的 div 恰好是一个表单。
如果我这样做:
$('#lb_content').html($('#' + div_id).html());
这会重复表单并使验证/提交变得困难 - 对吗?
<小时/>我的解决方法是存储一个全局变量:
var container_emptied = '';
所以当我显示 shell 时,我会这样做:
var content = $('#' + div_id).html();
container_emptied = '#' + div_id;
$(container_emptied).empty();
$('#lb_content').html(content);
当我隐藏外壳时,我会这样做:
$(container_emptied).html($('#lb_content').html());
$('#lb_content').empty();
我是不是把这件事复杂化了?
最佳答案
所以看起来您只是将表单内容从一个位置移动到另一个位置。是对的吗?
如果是这样,只需使用.appendTo()
,如下所示:
// Move all the content to new location
$('#' + div_id).contents().appendTo('#lb_content');
并执行相反的操作将其移回:
// Move all the content back
$('#lb_content').contents().appendTo('#' + div_id);
(我假设您只对内容感兴趣,而不是元素本身。)
编辑:颠倒了两者。第一次就让他们落后了。
关于jquery - 复制 div 会复制表单吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3073921/