Estoy creando una caja de luz en JavaScript puro. Para eso estoy haciendo una superposición. Quiero agregar esta superposición al cuerpo, pero también quiero mantener el contenido en la página. Mi código actual agrega el div de superposición, pero también elimina el contenido actual en el cuerpo. ¿Cómo agregar un elemento div y mantener los contenidos en el cuerpo?
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
fuente
fuente
Respuestas:
Probar esto:-
http://jsfiddle.net/adiioo7/vmfbA/
Utilizar
en vez de
Editar: - Idealmente, debe usar el
body.appendChild
método en lugar de cambiar elinnerHTML
fuente
innerHTML
nuevo.Usando Javascript
Usando jQuery
fuente
appendChild()
yinsertBefore()
dar aún más flexibilidad en la ubicación del elemento que se insertaráEn lugar de reemplazar todo con innerHTML, intente:
document.body.appendChild(myExtraNode);
fuente
document.body
.mejorando la publicación de @Peter T, al reunir todas las soluciones en un solo lugar.
Element.insertAdarestHTML ()
Usando
XPath
encontrar la posición del elemento en el árbol DOM e insertar el texto especificado en una posición especificada a un XPath_Element. prueba este código en la consola del navegador.fuente
Trata de hacerlo
fuente
Puede crear su
div
código HTML y configurarlo directamente enbody
(O cualquier elemento) con el siguiente código:fuente
La forma moderna es usar
ParentNode.append()
, así:fuente
La mejor y mejor manera es crear un elemento y agregarlo a la
body
etiqueta. La segunda forma es obtener primero lainnerHTML
propiedad debody
y agregarle código. Por ejemplo:fuente
document.body
, en segundo lugar, como mencioné antes, no reescribir toda la página solo para agregar un elemento.Aquí hay un truco muy rápido: digamos que quieres agregar la etiqueta p dentro de la etiqueta div.
Y eso es.
fuente