首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >可以在JavaScript中克隆html element对象吗?

可以在JavaScript中克隆html element对象吗?
EN

Stack Overflow用户
提问于 2009-05-28 14:58:04
回答 8查看 142.4K关注 0票数 118

我在一个表中有一个html元素(比如选择框输入字段)。现在我想复制对象,并用JavaScript或jQuery从副本中生成一个新对象。我认为这应该会起作用,但我现在有点不知所措。

类似这样的代码(伪代码):

代码语言:javascript
复制
oldDdl = $("#ddl_1").get(); 

newDdl = oldDdl;

oldDdl.attr('id', newId);

oldDdl.html();
EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2009-05-28 14:59:22

通过使用您的代码,您可以使用cloneNode()方法在普通的JavaScript中执行类似以下操作:

代码语言: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()方法(不是最有效的):

代码语言:javascript
复制
$('#ddl_1').clone().attr('id', newId).appendTo('p'); // append to where you want
票数 85
EN

Stack Overflow用户

发布于 2009-05-28 15:01:19

使用原生JavaScript:

代码语言:javascript
复制
newelement = element.cloneNode(bool)

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

Here is the complete documentation on MDN

票数 311
EN

Stack Overflow用户

发布于 2012-09-28 08:23:22

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

代码语言:javascript
复制
var foo1 = jQuery('#foo1');
var foo2 = jQuery('#foo2');

foo1.html(foo2.children().clone());

证据:http://jsfiddle.net/de9kc/

票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/921290

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档