whenever you do this:
el.innerHTML += HTMLyou'd be better off with this:
el.insertAdjacentHTML("beforeend", html)reason being, the latter doesn't trash and re-create/re-stringify what was previously already there
Recent articles
- OpenAI are quietly adopting skills, now available in ChatGPT and Codex CLI - 12th December 2025
- GPT-5.2 - 11th December 2025
- Useful patterns for building HTML tools - 10th December 2025