Pues sí, es algo que he visto mucho, lo de crear un Javascript solo para crear la funcionalidad de un elemento que clickas y se expande con más información.
En HTML, de forma nativa tienes la etiqueta de <details>
en la que dentro puedes meter la etiqueta <summary>
para poner el texto que se muestra por fuera. Luego simplemente metes dentro lo que quieres que aparezca cuando el usuario haga click y listo.
El ejemplo sería algo tal que así:
<details>
<summary>Más información</summary>
<p>Todo este párrafo solo aparece cuando el usuario hace click.</p>
</details>
Si la flechita que aparece por defecto la quieres quitar puedes usar este CSS:
summary::marker {
content: "";
}
Otro ejemplo: https://codepen.io/scotthellings1/pen/RwVbgyJ