我在表格中有一个 html 元素(如选择框输入字段)。现在我想复制对象并从副本中生成一个新对象,并使用 JavaScript 或 jQuery。我认为这应该以某种方式起作用,但目前我有点无能为力。
像这样(伪代码):
oldDdl = $("#ddl_1").get();
newDdl = oldDdl;
oldDdl.attr('id', newId);
oldDdl.html();
我在表格中有一个 html 元素(如选择框输入字段)。现在我想复制对象并从副本中生成一个新对象,并使用 JavaScript 或 jQuery。我认为这应该以某种方式起作用,但目前我有点无能为力。
像这样(伪代码):
oldDdl = $("#ddl_1").get();
newDdl = oldDdl;
oldDdl.attr('id', newId);
oldDdl.html();
使用您的代码,您可以使用cloneNode()方法在纯 JavaScript 中执行以下操作:
// Create a clone of element with id ddl_1:
let clone = document.querySelector('#ddl_1').cloneNode( true );
// Change the id attribute of the newly created element:
clone.setAttribute( 'id', newId );
// Append the newly created element on element p
document.querySelector('p').appendChild( clone );
或者使用 jQuery clone()方法(不是最有效的):
$('#ddl_1').clone().attr('id', newId).appendTo('p'); // append to where you want
是的,您可以复制一个元素的子元素并将它们粘贴到另一个元素中:
var foo1 = jQuery('#foo1');
var foo2 = jQuery('#foo2');
foo1.html(foo2.children().clone());
在 jQuery 中实际上非常简单:
$("#ddl_1").clone().attr("id",newId).appendTo("body");
当然改变 .appendTo() ......