JavaScript - problemas al usar el metodo appendChild()

 
Vista:
Imágen de perfil de DANIEL ALEXANDER

problemas al usar el metodo appendChild()

Publicado por DANIEL ALEXANDER (6 intervenciones) el 28/02/2023 03:17:36
Buenas a todos necesito ayuda para poder usar este metodo en javascript appendChild()
Tengo el siguiente codigo html:
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="Curso Básico de Javascript 14.- Creando Nodos del DOM.js"></script>
<title>Mensaje</title>
</head>
<body>
<h1 id="titulo">Titulo de nuestro sitio web</h1>
<div id="subtitulo"></div>
<p>1.-Lorem ipsum <b>dolor</b> sit amet consectetur adipisicing elit. Beatae cumque iste sequi eos provident facilis, corporis iusto! Assumenda esse itaque veritatis recusandae rerum quo in ratione? Ab perspiciatis cumque reprehenderit.</p>

<p id="segundo">2.-Lorem ipsum dolor sit amet consectetur adipisicing elit. Fugit reprehenderit a magnam ipsa qui. Nihil ab voluptas aperiam. Suscipit exercitationem voluptatum voluptate, nulla omnis et possimus odio quam ab nihil.</p>

<p>3.-Lorem ipsum, dolor sit amet consectetur adipisicing elit. Rerum eaque in veniam quod tenetur eos possimus modi odit voluptatum voluptas enim totam, repellat dignissimos natus fuga laboriosam ad autem aut?</p>

</body>
</html>
y este es el codigo javascript
//1.-Crear el elemento
var elemento = document.createElement("h2");
//2.-Crear un nodo de texto
var contenido = document.createTextNode("Este es nuestro titular");
//3.-Añadir el nodo del texto al elemento para juntar los dos primeros
var nuevo = elemento.appendChild(contenido);
//4.-Agregar atributos al elemento
elemento.setAttribute("align","center");
//5.-Agregar el elemento al documento
document.getElementById("subtitulo").appendChild(elemento)
la situacion es la siguiente , cuando copio y pego este codigo en codepen.io funciona de maravilla sin problemas,

imagen-1

tambien tengo el mismo codigo en visual studio code:

imagen2

imagen3
cuando lo ejecuto:

imagen4

me aparece el siguiente error:


imagen5

cuando dicho error no aparece con codepen y funciona de maravilla , no entiendo realmente que esta pasando, he revisado el codigo varias veces y esta bien , ¿porque pasa esto?,¿cual es la solución?, ya lo he probado en diferentes navegadores y el error no desaparece. espero y me puedan ayudar se los agradeceria de verdad y muchas gracias a todos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

problemas al usar el metodo appendChild()

Publicado por Marcelo (4 intervenciones) el 28/02/2023 16:11:12
Hola Daniel,

El código JavaScript funciona bien.

Para probar código sensillo no precisas CodePen (aunque claro que podés usarlo). Probá usando la consola de las herramientas del desarrollador de tu navegador y ejecutá el código línea por línea y vas a ver que funciona correctamente.

Otra cosa que podés probar es abrir el archivo HTML con el browser directamente en lugar de usar el LiveServer de VS Code.

Te adjunto una captura de una línea que muestra tu script funcionando:

Screenshot_2023-02-28_12-08-18

Fijate en el ángula inferior izquierdo que añade correctamente el tag H2

Espero que te ayude!

saludos,
Marcelo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de DANIEL ALEXANDER

problemas al usar el metodo appendChild()

Publicado por DANIEL ALEXANDER (6 intervenciones) el 28/02/2023 19:45:33
muchas gracias por tu respuesta tomare en cuenta lo que me dices
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alejandro
Val: 1.448
Plata
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

problemas al usar el metodo appendChild()

Publicado por Alejandro (532 intervenciones) el 28/02/2023 16:18:11
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
Cuando se ejecuta aun no existe body de modo que document.body es Null y éste no tiene propiedad appendChild().

Puedes solucionarlo de dos formas:
1. Copia la referencia del script al final de tu documento.
2. Ejecuta el script cuando la página este cargada por completo.
1
2
3
4
window.addEventListener('load', function(){
	var elemento = document.createElement('H2');
	...
})
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

problemas al usar el metodo appendChild()

Publicado por Marcelo (4 intervenciones) el 28/02/2023 18:00:24
Hola Alejandro,

Tus dos soluciones son correctas.

No preste atención al código HTML y el código JavaScript no presentaba ningún problema (cuando el body ya estaba disponible)

Muchas gracias por aportar la respuesta correcta!

saludos,
Marcelo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de DANIEL ALEXANDER

problemas al usar el metodo appendChild()

Publicado por DANIEL ALEXANDER (6 intervenciones) el 28/02/2023 19:55:58
Gracias a todos por ayudarme de verdad se los agradezco. aprendi algo nuevo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de DANIEL ALEXANDER

problemas al usar el metodo appendChild()

Publicado por DANIEL ALEXANDER (6 intervenciones) el 28/02/2023 19:46:14
Muchas Gracias alejandro por su respuesta hare lo que me esta recomendando y le avisare si me funciono
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de DANIEL ALEXANDER

problemas al usar el metodo appendChild()

Publicado por DANIEL ALEXANDER (6 intervenciones) el 28/02/2023 19:55:20
Perfecto , me funcionaron las dos soluciones , muchas gracias vale , ya puedo seguirn con mi curso de javascript

solucion
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar