39

我如何使用 javascript 克隆一些<div>并将他的 id 设置为与原始不同。Jquery 也会很好。

4

4 回答 4

127
var div = document.getElementById('div_id'),
    clone = div.cloneNode(true); // true means clone all childNodes and all event handlers
clone.id = "some_id";
document.body.appendChild(clone);
于 2012-08-16T10:25:15.637 回答
8

用它:

jQuery

var clonedDiv = $('#yourDivId').clone();
clonedDiv.attr("id", "newId");
$('#yourDivId').after(cloneDiv);
于 2012-08-16T10:27:01.800 回答
4

我有同样的问题。我已经通过设置一个计数器并将其附加到 ID 来解决这个问题。希望对你也有帮助:

<script type="text/javascript">
     var counter = 1; //Set counter

function clone(sender, eventArgs) {
     var $row = $('#yourID');

     var $clone = $row.clone(); //Making the clone                      
     counter++; // +1 counter

     //Change the id of the cloned elements, append the counter onto the ID 
     $clone.find('[id]').each(function () { this.id += counter });
}
</script>
于 2016-06-13T15:28:50.550 回答
-1

jQuery 有方法 clone()

var original = $("#original");
var newClone = original.clone();
于 2012-08-16T10:25:07.243 回答