Bagaimana cara menghapus konten div menggunakan JavaScript? [Tutup]


152

Ketika pengguna mengklik tombol pada halaman saya, konten div harus dihapus. Bagaimana saya bisa menyelesaikan ini?


Jawaban:


270

Hanya Javascript (seperti yang diminta)

Tambahkan fungsi ini di suatu tempat di halaman Anda (lebih disukai di <head>)

function clearBox(elementID)
{
    document.getElementById(elementID).innerHTML = "";
}

Kemudian tambahkan tombol pada acara klik:

<button onclick="clearBox('cart_item')" />

Di JQuery (untuk referensi)

Jika Anda lebih suka JQuery, Anda bisa melakukannya:

$("#cart_item").html("");

50
jQuery alternatif:$("#cart_item").empty();
Rob Allen

Bisakah Anda menggunakan .detach () juga?
RyanP13

@ Tom Gullen ini bekerja untuk saya tanpa melewatkan id DIV ke dalam fungsi, dan dengan tanda kutip tunggal di sekitar elementID dalam fungsi itu sendiri. Terima kasih untuk ini!
DPSSpatial

3
@ Tom Gullen: tolong jangan ini tidak menghapus event handler yang terkait dengan node di dalam div itu.
bhavya_w

@Mic jawabannya sekitar 250x lebih cepat. jsperf.com/innerhtml-vs-removechild
tleb

108

Anda juga dapat melakukannya dengan cara DOM:

var div = document.getElementById('cart_item');
while(div.firstChild){
    div.removeChild(div.firstChild);
}

1
Hasil terbaik! Sama seperti jQuery: $ ("# cart_item"). Empty (); bertindak pada DOM dan tidak hanya pada konten. Bagus!
Pedro Ferreira

Apakah ini lebih disukai daripada innerHTML = ''dan jika demikian mengapa?
Sukima

1
ini terasa lebih bersih daripada innerHTML = ''. Saya pribadi akan menulis beberapa baris tambahan
dmo

1
@Sukima cara ini lebih cepat daripada jawaban yang disukai, jadi jika Anda membutuhkan kinerja yang lebih baik daripada kode pendek ini adalah pilihan Anda.
iiic

1
sebagai satu linerwhile(div.firstChild && div.removeChild(div.firstChild));
Russell Elfenbein
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.