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

309
Vistas
Cambie el HTML interno del elemento, javascript El retorno más cercano es nulo

Hay un elemento por desbloqueo de nombre de clase y por evento de clic, el HTML interno de eso será cambiado por otro ícono svg. funciona bien y se reemplazó por un nuevo ícono svg.

 <div class="Panel card" id="leftSidebarForm"> <div class="Panel card-subtitle"> <div class="column"> <div class="unlock"> <svg>1</svg> </div> <div class="Panel"> <svg>1</svg> </div> <div class="unchain"> <svg>2</svg> </div> <div class="Panel"> <svg>3</svg> </div> </div> </div> </div>

Pero defino un EventListener en el document para cerrar el elemento anterior al hacer clic en el exterior.

 document.addEventListener("click", function (event) { if (document.getElementById('leftSidebarForm') != null && !event.target.closest('#leftSidebarForm') && !event.target.closest('#left-sidebar-menu') ) { // do something } });

El problema ocurre al hacer clic en svg 1 para cambiar el ícono, cierra el leftSidebarForm de la barra lateral izquierda mientras es su padre y no debe cerrar el leftSidebarForm de la barra lateral izquierda. Al hacer clic en el icono svg para cambiar su contenido, este fragmento de código devuelve null

 event.target.closest('#leftSidebarForm')

Creo que es porque al cambiar el HTML interno del elemento lo eliminamos de dom y innerHTML event.target.closest('#leftSidebarForm') devuelve nulo porque ese svg no existe.

¿Cómo puedo solucionar ese problema?

about 4 years ago · Juan Pablo Isaza
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