我似乎以某种方式打破了克隆功能。我的jQuery克隆函数相对简单,但似乎没有工作。我有两个元素,我正试图从一个复制到另一个:
<div id="copy"><span>Some stuff to copy.</span></div>
<div id="paste"></div>
jQuery的:
$(document).ready(function(){
$('#copy').clone().append('#paste');
});
您可以在此处查看代码集:http://codepen.io/anon/pen/NPrBRq
答案 0 :(得分:4)
应该是:
$(document).ready(function(){
$('#copy span').clone().appendTo('#paste');
});
从根本上说,append()
和appendTo()
执行相同的任务,但是,appendTo用于附加到特定元素(我相信,你想要的是什么)。阅读more here。
另外,你的Pen没有包含jQuery库。
答案 1 :(得分:4)
该代码存在两个问题:
您想使用appendTo
,而不是append
。 a.append(b)
将内容b
附加到元素a
; a.appendTo(b)
是另一种方式,它将a
追加到b
。
您需要删除克隆元素的id
;如果不这样做,则会创建一个无效的文档,因为id
必须是唯一的
所以:
$(document).ready(function(){
$('#copy').clone().removeAttr("id").appendTo('#paste');
});
$(document).ready(function(){
$('#copy').clone().removeAttr("id").appendTo('#paste');
});
<div id="copy"><span>Some stuff to copy.</span></div>
<div id="paste"></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
答案 2 :(得分:1)
您应该将克隆的元素附加到DOM
$(document).ready(function(){
$('#copy').clone().appendTo('#paste');
});