我在点击.step
div时尝试复制.delete
div。复制的div应显示在单击.delete
div
<div class="step" >
<h2> sth </h2>
<div class="copy"></div>
<div class="delete"></div>
</div>
<div class="step" >
<h2> sth </h2>
<div class="copy"></div>
<div class="delete"></div>
</div>
<div class="step" >
<h2> sth </h2>
<div class="copy"></div>
<div class="delete"></div>
</div>
这是我错误的jQuery:
$('.copy').click(function(){
var newDiv = $(this).parent().innerHTML;
$(this).parent().after(newDiv);
});
答案 0 :(得分:4)
它将是jQuery .html()
而不是DOM innerHTML
,因为parent()
返回一个jQuery包装器。
但是没有必要乱用HTML源代码;使用clone()
。
$(this).parent().after($(this).parent().clone());
(另外clone(true)
如果要复制现有的事件处理程序,即新副本上的click()
也会复制该副本。)
答案 1 :(得分:1)
$('.copy').click(function(){
$(this).parent().after($(this).parent().html());
});
看看它是否适合你。