我有HTML结构,例如
<div id="mydiv" class="some" onclick="alert('Hello!')" style="background:red" >
<div>aa</div>
<div style="background:green" >bb</div>
</div>
我想要
<div id="mydiv" class="some" onclick="alert('Hello!')" style="background:red" >
</div>
结果是。 .clone()
创建了一个深层副本,但我需要浅拷贝。
修改 到目前为止所有答案都包括深刻的复制和清晰的内容。我打算用它来容纳几十个容器,每个容器包含几十个物体。我觉得有必要提高效率。
答案 0 :(得分:8)
答案 1 :(得分:3)
最简单的是$(this).clone().html('')
。
答案 2 :(得分:0)
您必须将内容从您尝试克隆的div中删除。
var s = $('#mydiv').clone().html('');
$('#container').append(s);
简单,但有效!
你去吧!答案 3 :(得分:0)
我使用的解决方案有点不同。
首先,我创建一些结构并移动div
内容:
var $storage=$('<div/>').append($("#mydiv").children());
现在我可以克隆剩余的“shell”并移动到内容的适当部分:
$("#mydiv").clone(true,true).attr("id","d1")
.appendTo($(document.body))
.append($(":first-child",$storage));
可能看起来太复杂但我的任务是将HTML表格(~30 x 30)划分为六个部分,我的建议克隆和清算存在性能问题。