Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

196
Vistas
error al cambiar el elemento en DOM usando vannilla JS

He creado un programa para cambiar un elemento en un HTML mientras se hace clic en un botón, pero genera un error

 <button id='change'>hi</button> <p id="pp">text</p> <script> var myfunction=function(e){ e.preventDefault(); document.getElementById('pp').innerHTML=<p id="pp">change</p> } document.getElementById('change').addEventListener('click',myfunction(e)) </script>

enlace de caja de códigos

https://codesandbox.io/s/bold-waterfall-90e74

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

tienes 2 problemas uno es que está pasando el valor de retorno de myFunction a .addEventListener con el valor de e que no está definido. el otro es que no configuraste .innerHTML correctamente. No estoy seguro de si puede crear elementos HTML en JavaScript usando sintaxis HTML, pero si puede, está creando otro elemento <p> con la misma id . Además, .innerHTML debe ser una String y todos los atributos HTML deben tener comillas dobles. prueba esto:

 document.getElementById('change').addEventListener('click', function (e) { e.preventDefault(); document.getElementById('pp').innerHTML = "change"; })
 <button id="change">hi</button> <p id="pp">text</p>

Probablemente tampoco debería crear funciones con var functionName = function() {...} porque puede causar problemas de elevación. var también está en desuso y puede causar errores, por lo que recomendaría usar const y let .

about 4 years ago · Juan Pablo Isaza Denunciar

0

arreglar esta cadena:

 document.getElementById('change').addEventListener('click', myfunction)
about 4 years ago · Juan Pablo Isaza Denunciar

0

Le faltaban comillas alrededor del valor de innerHTML .

Al llamar a addEventListener , su EventListener es la function "myfunction". No tienes que llamarlo.

 <button id='change'>hi</button> <p id="pp">text</p> <script> var myfunction=function(e){ e.preventDefault(); document.getElementById('pp').innerHTML='<p id="pp">change</p>' } document.getElementById('change').addEventListener('click',myfunction) </script>

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda