Saya membuat kotak cahaya di JavaScript murni. Untuk itu saya membuat overlay. Saya ingin menambahkan hamparan ini ke tubuh tetapi saya juga ingin menjaga konten di halaman. Kode saya saat ini menambahkan overlay div tetapi juga menghapus isi saat ini di tubuh. Bagaimana cara menambahkan elemen div dan menyimpan konten di badan?
var el = document.getElementById('element');
var body = document.getElementsByTagName('body');
el.innerHTML = '<p><a id="clickme" href="#">Click me</a></p>';
document.getElementById('clickme').onclick = function (e) {
e.preventDefault();
document.body.innerHTML = '<div style="position:absolute;width:100%;height:100%;opacity:0.3;z-index:100;background:#000;"></div>';
}
javascript
Om3ga
sumber
sumber
Jawaban:
Coba ini: -
http://jsfiddle.net/adiioo7/vmfbA/
Menggunakan
dari pada
Sunting: - Idealnya Anda harus menggunakan
body.appendChild
metode alih-alih mengubahinnerHTML
sumber
innerHTML
kembali.Menggunakan Javascript
Menggunakan jQuery
sumber
appendChild()
daninsertBefore()
memberikan lebih banyak fleksibilitas pada lokasi elemen yang akan dimasukkanAlih-alih mengganti semuanya dengan innerHTML coba:
document.body.appendChild(myExtraNode);
sumber
document.body
.memperbaiki posisi @Peter T, dengan mengumpulkan semua solusi bersama di satu tempat.
Element.insertAdjacentHTML ()
Menggunakan
XPath
menemukan posisi Elemen di Pohon DOM dan masukkan teks yang ditentukan pada posisi yang ditentukan ke XPath_Element. coba kode ini melalui konsol browser.sumber
Coba lakukan
sumber
Anda dapat membuat
div
kode HTML dan mengaturnya langsung kebody
(Atau elemen apa pun) dengan kode berikut:sumber
Cara modern adalah menggunakan
ParentNode.append()
, seperti:sumber
Cara terbaik dan lebih baik adalah membuat elemen dan menambahkannya ke
body
tag. Cara kedua adalah pertama mendapatkaninnerHTML
propertibody
dan menambahkan kode dengannya. Sebagai contoh:sumber
document.body
, kedua seperti yang saya sebutkan sebelumnya, jangan menulis ulang seluruh halaman hanya untuk menambahkan elemen.Ini trik yang sangat cepat: Katakanlah Anda ingin menambahkan tag p di dalam tag div.
Dan itu saja.
sumber