71 votes

jquery clone div et l'ajoute après un div spécifique

entrez la description de l'image ici

À partir de l'image ci-dessus, je souhaite cloner le div avec l'id #car2 et l'ajouter après le dernier div avec l'id start with car, dans cet exemple id #car5. Comment puis je faire ça? Merci.

Voici mon code d'essai :

 $("div[id^='car']:last").after('put the clone div here');

166voto

letuboy Points 395

Vous pouvez utiliser clone, puis comme chaque div a une classe car_well, vous pouvez utiliser insertAfter pour insérer après le dernier div.

 $("#car2").clone().insertAfter("div.car_well:last");

13voto

mcgrailm Points 9453

essaye ça

 $("div[id^='car']:last").after($('#car2').clone());

0voto

plaidcorp Points 353

Cela fonctionne très bien si une copie directe est en ordre. Si la situation nécessite la création de nouveaux objets à partir de modèles, j'enveloppe généralement le modèle div dans un div de stockage caché et j'utilise le html() de jquery en conjonction avec clone() en appliquant la technique suivante :

 <style>
#element-storage {
    display: none;
    top: 0;
    right: 0;
    position: fixed;
    width: 0;
    height: 0;
}
</style>

<script>
$("#new-div").append($("#template").clone().html(function(index, oldHTML){ 
    // .. code to modify template, e.g. below:
    var newHTML = "";
    newHTML = oldHTML.replace("[firstname]", "Tom");
    newHTML = newHTML.replace("[lastname]", "Smith");
    // newHTML = newHTML.replace(/[Example Replace String]/g, "Replacement"); // regex for global replace
    return newHTML;
}));
</script>

<div id="element-storage">
  <div id="template">
    <p>Hello [firstname] [lastname]</p>
  </div>
</div>

<div id="new-div">

</div>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X