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

172
Vistas
¿Cómo volver a mostrar un elemento después de eliminarlo del DOM?

Estoy tratando de crear un script que oculte el chat y lo vuelva a mostrar después de presionar el botón H , pero no sé cómo necesito hacer que los elementos <div> del sitio web se muestren nuevamente después de eliminarlo. Aquí está mi código:

 // ==UserScript== // @name Cytos Additions // @namespace http://tampermonkey.net/ // @match https://cytos.io/ // @grant none // ==/UserScript== var isToggled = false; function doc_keyUp(e) { switch (e.keyCode) { case 72: // h if (isToggled) { } else { document.getElementsByClassName('_1FlWeEtrJKCnvzX-Y50CLP')[0].remove() } var isToggled = true; break; default: break; } } document.addEventListener('keyup', doc_keyUp, false);

No sé qué poner debajo de la if(isToggled) para que el chat vuelva a aparecer.

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

0

Lo opuesto a la remoción es la inserción; Hay varias formas de insertar un elemento. Dado que su elemento está en el índice 0 , lo que necesita aquí es anteponerlo a su elemento principal original.

Si simplemente elimina un elemento sin conservar su referencia, se recolectará como basura y ya no podrá usarlo. Entonces almacene una referencia al elemento; también, almacene uno en su padre, ya que ese es el objetivo al que debe anteponer el elemento.

 const chatElement = document.getElementsByClassName('_1FlWeEtrJKCnvzX-Y50CLP')[0], chatParent = chatElement.parentElement; let isToggled = false; function doc_keyUp(e) { switch (e.code) { case KeyH: if (isToggled) { chatParent.prepend(chatElement); } else { chatElement.remove(); } isToggled = !isToggled; break; default: break; } } document.addEventListener("keyup", doc_keyUp, false);

Alternar la variable isToggled se puede hacer con isToggled = !isToggled; , pero no vuelva a declarar la variable dentro de la función, o de lo contrario no tendrá relación con su variable externa isToggled .

Tenga en cuenta que keyCode está en desuso. Deberías usar code en su lugar.

Hay dos preocupaciones más:

  1. Si Cytos depende del chat existente, eliminar el elemento puede hacer que la aplicación se rompa. Asimismo, la extracción y reinserción de elementos puede provocar la activación de imprevistos. Considere usar case KeyH: chatElement.toggleAttribute("hidden"); break; en cambio. Consulte la documentación sobre toggleAttribute y sobre la propiedad hidden .
  2. El nombre de clase _1FlWeEtrJKCnvzX-Y50CLP no parece un nombre de clase estable, sino más bien un nombre aleatorio minimizado. Es muy probable que cambie y que su secuencia de comandos de usuario se rompa. Familiarícese con la API DOM, en particular con document.querySelector , y considere encontrar un selector más estable.
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