我使用以下代码复制元素:
$($('<div></div>').html($('#elememt').clone())).html()
这有效,但不保留原始元素的价值。我甚至试过这样:
$($('<div></div>').html($('#elememt').clone().val('test'))).html()
没有运气。
知道为什么会这样,以及如何解决这个问题?
答案 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中。
您也没有解释您想要做什么的预期结果,因此很难为您的特定问题提供准确的解决方案。
尽管如此,请查看下面链接演示中的一个工作示例。