将jQuery复制的DIV复制到另一个DIV中

128

需要一些jQuery帮助将一个DIV复制到另一个DIV中,希望这是可能的。我有以下HTML:

  <div class="container">
  <div class="button"></div>
  </div>

然后我在页面的另一个位置有另一个DIV,我想将“button”DIV复制到下面的“package”DIV中:

<div class="package">

Place 'button' div in here

</div>
5个回答

202

您需要使用clone()方法来获取元素的深拷贝:

$(function(){
  var $button = $('.button').clone();
  $('.package').html($button);
});

完整演示:http://jsfiddle.net/3rXjx/

来自jQuery文档

.clone()方法执行所匹配元素集的深度复制,意味着它会复制匹配的元素以及它们所有的后代元素和文本节点。当与其中一种插入方法结合使用时,.clone()是在页面上复制元素的便捷方式。


1
这不会保留用户在输入上添加的值。 - wtf8_decode
8
为什么在声明变量时需要使用 $,例如 var $button?我相信在 JavaScript 中可以直接声明为 var button - KNU
29
@KNU 这不是必需的,但在 jQuery 的世界中很常见。它表示 $button 变量是一个 jQuery 对象。请参考 https://dev59.com/J3VC5IYBdhLWcg3wtzkQ - chrx
你正在将一个jQuery对象作为html方法的输入参数。根据jQuery的文档,该方法接受无参数、HTML字符串或函数作为输入。请解释一下你的解决方案为什么有效。谢谢! - Goran W

26

使用 clone 和 appendTo 函数复制代码:

这里还有一个可工作的例子 jsfiddle

<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
</head>
<body>
<div id="copy"><a href="http://brightwaay.com">Here</a> </div>
<br/>
<div id="copied"></div>
<script type="text/javascript">
    $(function(){
        $('#copy').clone().appendTo('#copied');
    });
</script>
</body>
</html>

4
你可以这样复制你的div:
$(".package").html($(".button").html())

2
将此放置在事件中。
$(function(){
    $('.package').click(function(){
       var content = $('.container').html();
       $(this).html(content);
    });
});

0

$(document).ready(function(){  
    $("#btn_clone").click(function(){  
        $("#a_clone").clone().appendTo("#b_clone");  
    });  
});  
.container{
    padding: 15px;
    border: 12px solid #23384E;
    background: #28BAA2;
    margin-top: 10px;
}
<!DOCTYPE html>  
<html>  
<head>  
<title>jQuery Clone Method</title> 
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script> 


</head>  
<body> 
<div class="container">
<p id="a_clone"><b> This is simple example of clone method.</b></p>  
<p id="b_clone"><b>Note:</b>Click The Below button Click Me</p>  
<button id="btn_clone">Click Me!</button>  
</div> 
</body>  
</html>  

了解更多细节和演示


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接