Pertanyaan Apakah mungkin untuk mengkloning objek elemen html di JavaScript / JQuery?


Saya mencari beberapa tips bagaimana memecahkan masalah saya.

Saya memiliki elemen html (seperti kotak input kotak pilih) dalam sebuah tabel. Sekarang saya ingin menyalin objek dan menghasilkan yang baru dari salinan, dan itu dengan JavaScript atau jQuery. Saya pikir ini harus bekerja entah bagaimana tetapi saya sedikit tidak mengerti saat ini.

Sesuatu seperti ini (pseudo code):

oldDdl = $("#ddl_1").get(); 

newDdl = oldDdl;

oldDdl.attr('id', newId);

oldDdl.html();

75
2018-05-28 14:58


asal


Jawaban:


Cara jQuery (bukan yang paling efisien):

Lihatlah klon() metode JQuery

Menggunakan kode Anda, Anda dapat melakukan sesuatu seperti itu:

$('#ddl_1').clone().attr('id', newId).appendTo('p'); // append to where you want

34
2018-05-28 14:59



Dengan javascript asli:

newelement = element.cloneNode(bool)

dimana boolean menunjukkan apakah mengkloning simpul anak atau tidak


247
2018-05-28 15:01



Ya, Anda dapat menyalin anak-anak dari satu elemen dan menempelkannya ke elemen lain:

var foo1 = jQuery('#foo1');
var foo2 = jQuery('#foo2');

foo1.html(foo2.children().clone());

Bukti: http://jsfiddle.net/de9kc/


15
2017-09-28 00:23



Sebenarnya sangat mudah di jQuery:

$("#ddl_1").clone().attr("id",newId).appendTo("body");

Ubah .appendTo () tentu saja ...


3
2018-05-28 15:00



Kamu dapat memakai klon() metode untuk membuat salinan ..

$('#foo1').html( $('#foo2 > div').clone())​;

FIDDLE DI SINI


2
2017-09-28 00:45



Coba ini:

$('#foo1').html($('#foo2').children().clone());

1
2017-09-28 00:30



Dalam satu baris:

$('#selector').clone().attr('id','newid').appendTo('#newPlace');

0
2018-05-28 15:01



Anda harus memilih "# foo2" sebagai pemilih Anda. Kemudian, dapatkan dengan html ().

Berikut ini adalah html:

<div id="foo1">

</div>
<div id="foo2">
    <div>Foo Here</div>
</div>​

Berikut ini javascript:

$("#foo2").click(function() {
    //alert("clicked");
    var value=$(this).html();
    $("#foo1").html(value);
});​

Berikut adalah jsfiddle: http://jsfiddle.net/fritzdenim/DhCjf/


0
2017-09-28 00:33