jQuery duplique DIV dans un autre DIV


101

Besoin d'aide jquery pour copier un DIV dans un autre DIV en espérant que cela soit possible. J'ai le code HTML suivant:

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

Et puis j'ai un autre DIV à un autre emplacement de ma page et je voudrais copier le div 'bouton' dans le div 'package' suivant:

<div class="package">

Place 'button' div in here

</div>

Réponses:


164

Vous voudrez utiliser la clone()méthode afin d'obtenir une copie complète de l'élément:

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

Démo complète: http://jsfiddle.net/3rXjx/

À partir de la documentation jQuery :

La méthode .clone () effectue une copie complète de l'ensemble des éléments correspondants, ce qui signifie qu'elle copie les éléments correspondants ainsi que tous leurs éléments descendants et nœuds de texte. Lorsqu'il est utilisé en conjonction avec l'une des méthodes d'insertion, .clone () est un moyen pratique de dupliquer des éléments sur une page.


1
Cela ne conserve pas les valeurs ajoutées par l'utilisateur sur les entrées.
wtf8_decode

6
pouvez-vous s'il vous plaît me dire pourquoi nous avons besoin $de var $button. Je crois en js que vous pouvez déclarer var simplement comme var button.
KNU

20
@KNU Ce n'est pas nécessaire mais c'est une convention courante dans le monde jQuery. Cela indique que la variable $ button est un objet jQuery. Voir stackoverflow.com/questions/205853/…
chrx

21

Copiez le code à l'aide de la fonction clone et appendTo:

Voici également l'exemple de travail 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>

3

Vous pouvez copier votre div comme ça

$(".package").html($(".button").html())

2

Mettez ceci sur un événement

$(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>  

Pour plus de détails et une démonstration

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.