Jawaban:
Ambil kode HTML ini:
<div id="mydiv">Hello World</div>
Perbuatan:
$('#mydiv').html('Aloha World');
Akan menghasilkan:
<div id="mydiv">Aloha World</div>
Perbuatan:
$('#mydiv').replaceWith('Aloha World');
Akan menghasilkan:
Aloha World
Jadi html () menggantikan konten elemen, sedangkan replaceWith () menggantikan elemen aktual.
replaceWith () akan mengganti elemen saat ini, sedangkan html () hanya mengganti konten.
Perhatikan bahwa replaceWith () tidak akan benar-benar menghapus elemen tetapi cukup menghapusnya dari DOM dan mengembalikannya kepada Anda dalam koleksi.
Contoh untuk Peter: http://jsbin.com/ofirip/2
-1
dan mudah-mudahan ini akan bermanfaat untuk semua. :)
var $form = $target.closest('tr').replaceWith(html)
Ternyata $form
berisi elemen sebelum penggantian. sigh
Ada dua cara menggunakan fungsi html () dan replaceWith ().
<div id="test_id">
<p>My Content</p>
</div>
1.) html () vs replaceWith ()
var html = $('#test_id p').html();
akan mengembalikan "Konten Saya"
Tetapi
var replaceWith = $('#test_id p').replaceWith();
akan mengembalikan seluruh objek DOM
<p>My Content</p>
.
2.) html ('value') vs replaceWith ('value')
$('#test_id p').html('<h1>H1 content</h1>');
akan memberi Anda put out berikut.
<div id="test_id">
<p><h1>H1 content</h1></p>
</div>
Tapi
$('#test_id p').replaceWith('<h1>H1 content</h1>');
akan memberi Anda put berikut.
<div id="test_id">
<h1>H1 content</h1>
</div>
Pertanyaan lama tapi ini bisa membantu seseorang.
Ada beberapa perbedaan dalam cara fungsi-fungsi ini beroperasi di Internet Explorer dan Chrome / Firefox JIKA HTML Anda tidak valid.
Bersihkan HTML Anda dan itu akan berfungsi seperti yang didokumentasikan.
(Tidak menutup </center>
biaya saya malam saya!)
Mungkin juga berguna untuk mengetahui bahwa itu .empty().append()
juga bisa digunakan .html()
. Dalam patokan yang ditunjukkan di bawah ini lebih cepat tetapi hanya jika Anda perlu memanggil fungsi ini berkali-kali.