Działa to świetnie, gdy jest prosta kopia. Jeśli sytuacja wymaga tworzenia nowych obiektów z szablonów, zwykle zawinąć div szablonu w ukrytej pamięci div i używać HTML jQuery() w połączeniu z klonu() stosując następujące techniki:
<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>
I Próbuję użyć tego samego, aby dodać wiele załączników do formularza. Czy możesz wyjaśnić, jak usunąć ten div z funkcją neutralną (tak właściwie, będę miał 1 funkcję dodawania div, a drugi, aby usunąć ostatni div) –
To działa dobrze, ale html() z anonimową funkcją jest potencjalnie potężniejszy , w zależności od zastosowania. https://stackoverflow.com/questions/8707756/jquery-clone-div-and-append-it-after-specific-div#answer-47063071 – plaidcorp