如何将一个div的内容克隆到另一个div

Posted

技术标签:

【中文标题】如何将一个div的内容克隆到另一个div【英文标题】:how to clone content of a div to another div 【发布时间】:2011-04-29 11:53:50 【问题描述】:

我想使用 jquery 克隆将选定 div 的内容复制到另一个 div。 但我不想将它附加到任何地方

我的意思是当我们用 jquery 克隆一个 div 时(如果我错了,请纠正我)我们必须设置它的位置,它会动态创建一个显示的新分区。

但我想获取选定的div的内容并将其复制到另一个预设的div

【问题讨论】:

谢谢你们,这是我真正想要发生的事情jsfiddle.net/pahnin/c2p54/2 【参考方案1】:
var a = $('#selector').html();
var b = $('#selector').html(a);

不确定我是否理解正确,但我认为这就是你的意思:)

【讨论】:

这也可以写成:$('#selectorDestination').html($('#selectorSource').html());。避免声明变量。 我们唯一应该小心的是我们不应该在 html 中复制 id @dustin 是的,那是一样的,但我想,因为他要求不要穿上 dom,“我不想在任何地方附加它”:) 这是最好的前进方式【参考方案2】:

我不同意。克隆可以在不应用内容的情况下保存数据。

看这里:

http://www.jsfiddle.net/dactivo/FqffM/

var mylayer=$('.hello').clone();

这里你可以随意管理变量“mylayer”,它不在DOM中。

【讨论】:

当然,html() 是一个很好的方法,但是很高兴知道 clone() 可以在不包含在 DOM 中的情况下进行管理 Clone 也复制了容器元素,我认为@pahnin 不想要。 好的,我认为真正的问题是你不想设置它的位置。 html() 非常适合这个。【参考方案3】:
$("#from").clone().appendTo($("#to"));

但它不会删除/隐藏主 DIV。要隐藏主 div,请执行以下操作:

$("#from").clone().appendTo($("#to"));
$("#from").remove();

【讨论】:

我认为你没有理解我的问题。【参考方案4】:
$(".from").click(function () 
     $(".from").removeClass("CloneMe");
     $("#to").html('');
     $(this).addClass("CloneMe");
     $(".CloneMe").clone().appendTo("#to");

);

您可以在单击(或其他事件)时添加一个硬编码以克隆的类。在此示例中,有一个包含样式内容(div 等)的相同类名称列表 - 添加 .CloneMe 类,但首先删除该类以清空 div,以防用户选择不同的项目。 ) 为了安全起见,也可以删除任何 html。然后使用 (this) 应用类以避免抓取具有该类名称的所有项目,最后附加到 div。结果是用户可以选择具有该类名称的任何项目并将其填充到容器中。 - 我想为容器使用一个类可以让你在多个地方填充它。


【讨论】:

以上是关于如何将一个div的内容克隆到另一个div的主要内容,如果未能解决你的问题,请参考以下文章

jQuery 将一个 div id 中的 <ul> 克隆到另一个 div

jQuery:最初创建克隆的可拖动 div,然后在被删除后不会

如何将一个 div 移到另一个 div 的前面?

如何将非子 div 附加到另一个 div 的底部

如何将一个div拖入另一个div里?

js如何将一个div移动到另一个div后面