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

206
Vistas
Cómo diseñar/apuntar a un nodo que se crea dentro de una función, desde fuera de la función

Quiero poder diseñar (o cambiar) div (s) creados dentro de una función. Sin embargo, este "cambio" no debe realizarse en la misma función. Dado que las variables creadas en funciones están en el ámbito local de esa función, ¿cómo llego a los div(s) creados para un estilo posterior (u otros cambios) desde el exterior? Intenté apuntar al nodo con querySelector pero Console devuelve Uncaught TypeError ya que no puede encontrar la variable.

Código de ejemplo en JS:

 let container = document.querySelector('.container'); let divClass = document.querySelector('.div-class'); divClass.style = "backgroundColor: green"; container.addEventListener('click', () => { let createdDiv = document.createElement('div'); container.appendChild(createdDiv); createdDiv.classList.add('div-class'); })
about 4 years ago · Santiago Gelvez
2 Respuestas
Responde la pregunta

0

El problema con su código es que consulta incluso antes de que se haya creado el elemento.

 let container = document.querySelector('.container'); container.addEventListener('click', () => { let createdDiv = document.createElement('div'); container.appendChild(createdDiv); createdDiv.classList.add('div-class'); }) let someButton= document.querySelector('.someButton'); someButton.addEventListener('click', () => { let divClass = document.querySelector('.div-class'); divClass.style.backgroundColor = "green"; })
 .container,.someButton{ border:1px solid black; background:grey; margin-bottom:4em; } .div-class{ height:40px; width:40px; border:1px solid red; }
 <div class="container"> container </div> <div class="someButton"> someButton </div>

En este fragmento, el acceso al div creado se coloca en otro evento de clic. Si hace clic en .someButton antes .container , se creará un error, pero si hace clic después, funcionará, ya que se creará el div.

about 4 years ago · Santiago Gelvez Denunciar

0

Puede crear una variable en el ámbito global y asignarle el div que creará más adelante.

 const container = document.querySelector('.container'); // assign sample element to avoid error if new_div is used before assigning. let newDiv = document.createElement('div'); container.addEventListener('click', () => { let newDiv = document.createElement('div'); container.appendChild(newDiv); newDiv.classList.add('div-class'); }) newDiv.style = "backgroundColor: green";
about 4 years ago · Santiago Gelvez 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