是否有可能在JavaScript / JQuery中克隆html元素对象?

我正在寻找一些关于如何解决我的问题的提示。

我有一个html元素(如select框input字段)在一个表中。 现在我想复制对象并从副本中生成一个新的对象,并使用JavaScript或jQuery。 我认为这应该有所作为,但我现在有点无知。

像这样的东西(伪代码):

oldDdl = $("#ddl_1").get(); newDdl = oldDdl; oldDdl.attr('id', newId); oldDdl.html(); 

jQuery的方式(不是最有效的):

看看JQuery的clone()方法

使用你的代码你可以做这样的事情:

 $('#ddl_1').clone().attr('id', newId).appendTo('p'); // append to where you want 

使用原生的javascript:

 newelement = element.cloneNode(bool) 

其中布尔值指示是否克隆子节点

是的,您可以复制一个元素的子元素并将其粘贴到其他元素中:

 var foo1 = jQuery('#foo1'); var foo2 = jQuery('#foo2'); foo1.html(foo2.children().clone()); 

certificate: http : //jsfiddle.net/de9kc/

在jQuery中其实很简单:

 $("#ddl_1").clone().attr("id",newId).appendTo("body"); 

更改.appendTo()当然…

你可以使用clone()方法来创build一个副本。

 $('#foo1').html( $('#foo2 > div').clone())​; 

FIDDLE HERE

尝试这个:

 $('#foo1').html($('#foo2').children().clone()); 

在一行中:

 $('#selector').clone().attr('id','newid').appendTo('#newPlace'); 

您需要select“#foo2”作为select器。 然后,用html()来获取它。

这里是html:

 <div id="foo1"> </div> <div id="foo2"> <div>Foo Here</div> </div>​ 

这里是javascript:

 $("#foo2").click(function() { //alert("clicked"); var value=$(this).html(); $("#foo1").html(value); });​ 

这里是jsfiddle: http : //jsfiddle.net/fritzdenim/DhCjf/