使用clone()和html()复制元素不会保留旧值或新值

时间:2013-08-21 15:45:22

标签: jquery html clone

我使用以下代码复制元素:

$($('<div></div>').html($('#elememt').clone())).html()

这有效,但不保留原始元素的价值。我甚至试过这样:

$($('<div></div>').html($('#elememt').clone().val('test'))).html()

没有运气。

知道为什么会这样,以及如何解决这个问题?

3 个答案:

答案 0 :(得分:3)

你应该使用这个

<强> $(选择器).clone(真);

此布尔值指示是否应将事件处理程序与元素一起复制。默认值为false。因此,当我们调用.clone()方法而不传递任何布尔值时,它只是复制元素而不是附加到它的事件处理程序。但是,当我们传递值true时,它会复制元素和附加到它的任何事件处理程序。

答案 1 :(得分:0)

在你的例子中有很多语法错误,)太多 复制元素就足够了:

var new_element = $('#element').clone();
new_element.val('test');

然后用新值将其附加到你想要的地方:

$('#somediv').append(new_element);

答案 2 :(得分:0)

$('<div></div>')在内存中创建一个新的jQuery包装元素(这种语法也可以压缩到$('<div/>')),但是你不会在任何地方将它注入到DOM中。

您也没有解释您想要做什么的预期结果,因此很难为您的特定问题提供准确的解决方案。

尽管如此,请查看下面链接演示中的一个工作示例。

DEMO