当前位置: 首页 > 面试题库 >

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

祁飞飙
2023-03-14
问题内容

我正在寻找有关如何解决我的问题的技巧。

我在表中有一个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


 类似资料:
  • 问题内容: 在node.js中克隆对象的最佳方法是什么 例如,我想避免以下情况: 该对象很可能包含复杂的类型作为属性,因此简单的for(var1 in obj1)无法解决。我需要自己编写一个递归克隆吗,还是内置了一些我看不到的东西? 问题答案: 可能性1 简洁的深层副本: 可能性2(已弃用) 注意: 现在,Node.js文档中将该解决方案标记为不推荐使用: 从未打算在内部Node.js模块之外使用

  • 问题内容: 检查div类“ media”是否在浏览器的可视视口内的函数,而不管窗口的滚动位置如何。 试图通过此功能使用此插件,但我不知道如何使它工作。 问题答案: 好吧,您如何尝试使其工作?根据该插件的文档,返回一个布尔值,指示该元素是否可见。因此,您可以像这样使用它:

  • 假设我有这门课: 以及子类: 我知道这是不可能的,但我想你明白我想要什么。如果Foobar实现了Cloneable,并且没有扩展AbstractFoo,那么子类就可以工作。我想我想要但不允许的是: 如果Foobar实现了Cloneable,并且没有扩展AbstractFoo,那么子类就可以工作。 除了扩展的抽象类,我怎么能做到“相同”?

  • 如果我克隆了以下类的一个实例,并在实例化时覆盖了一个方法,克隆会有被覆盖的方法吗?我在https://docs.oracle.com/javase/7/docs/api/java/lang/Cloneable.html和https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html#clone()中没有找到任何关于这种行为的内容。

  • 问题内容: 我正在寻找一种使用jQuery返回第一个匹配元素的计算样式的对象的方法。然后,我可以将此对象传递给jQuery的CSS方法的另一个调用。 例如,使用width,我可以执行以下操作以使2个div具有相同的宽度: 如果我可以 使文本输入看起来像现有的span, 那将是很好的: 其中不带参数的.css()返回可以传递给.css(obj)的对象。 (我找不到为此的jQuery插件,但似乎应该存

  • 问题内容: 有什么方法可以创建包含所有绘制内容的canvas元素的 深层 副本? 问题答案: 实际上,复制画布数据的正确方法是将旧画布传递到新的空白画布。试试这个功能。 使用getImageData用于像素数据访问,而不用于复制画布。使用它进行复制非常缓慢,并且很难在浏览器上进行。应该避免。