Estou criando uma caixa de luz em JavaScript puro. Por isso estou fazendo uma sobreposição. Quero adicionar essa sobreposição ao corpo, mas também quero manter o conteúdo na página. Meu código atual adiciona a div de sobreposição, mas também remove o conteúdo atual no corpo. Como adicionar um elemento div e manter o conteúdo no corpo?
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
fonte
fonte
Respostas:
Experimente: -
http://jsfiddle.net/adiioo7/vmfbA/
Usar
ao invés de
Edit: - Idealmente, você deve usar o
body.appendChild
método em vez de alterar oinnerHTML
fonte
innerHTML
novamente.Usando Javascript
Usando jQuery
fonte
appendChild()
einsertBefore()
dê ainda mais flexibilidade na localização do elemento a ser inseridoEm vez de substituir tudo pelo innerHTML, tente:
document.body.appendChild(myExtraNode);
fonte
document.body
.aprimorando a publicação do @Peter T, reunindo todas as soluções em um só lugar.
Element.insertAdjacentHTML ()
Utilizando,
XPath
encontre a posição do Elemento na Árvore DOM e insira o texto especificado em uma posição especificada em um XPath_Element. tente este código no console do navegador.fonte
Tente fazer
fonte
Você pode criar seu
div
código HTML e configurá-lo diretamente embody
(ou qualquer elemento) com o seguinte código:fonte
A maneira moderna é usar
ParentNode.append()
, assim:fonte
A melhor e melhor maneira é criar um elemento e anexá-lo à
body
tag. A segunda maneira é primeiro obter ainnerHTML
propriedade debody
e adicionar código a ela. Por exemplo:fonte
document.body
, em segundo lugar, como mencionei antes, não reescreva a página inteira apenas para acrescentar um elemento.Aqui está um truque muito rápido: digamos que você queira adicionar uma tag p dentro da tag div.
E é isso.
fonte