我正在用纯JavaScript创建一个灯箱。为此,我制作了一个覆盖图。我想将此覆盖添加到正文中,但我也想将内容保留在页面上。我的当前代码添加了覆盖div,但它也删除了body中的当前内容。如何添加元素并将内容保留在正文上?
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>';
}
发布于 2013-04-01 17:43:34
试试这个:-
使用
document.body.innerHTML += '<div style="position:absolute;width:100%;height:100%;opacity:0.3;z-index:100;background:#000;"></div>';
而不是
document.body.innerHTML = '<div style="position:absolute;width:100%;height:100%;opacity:0.3;z-index:100;background:#000;"></div>';
编辑:-理想情况下,您应该使用body.appendChild
方法,而不是更改innerHTML
var elem = document.createElement('div');
elem.style.cssText = 'position:absolute;width:100%;height:100%;opacity:0.3;z-index:100;background:#000';
document.body.appendChild(elem);
发布于 2013-04-01 20:03:23
使用Javascript
var elemDiv = document.createElement('div');
elemDiv.style.cssText = 'position:absolute;width:100%;height:100%;opacity:0.3;z-index:100;background:#000;';
document.body.appendChild(elemDiv);
使用jQuery
$('body').append('<div style="position:absolute;width:100%;height:100%;opacity:0.3;z-index:100;background:#000;"></div>');
发布于 2016-11-04 18:47:24
尝试一下,而不是用innerHTML替换所有内容:
document.body.appendChild(myExtraNode);
https://stackoverflow.com/questions/15741006
复制相似问题