PoV:
You don't want to use a frontend framework because you think it's overkill.
You want to use Vanilla JS to manipulate the DOM,
but then you realize your code gets messy, filled with so many
document.createElement, element.setAttribute, & element.appendChild.
You're considering a minimal abstraction with an extremely small bundle size (1.57 KB).
<div id="example-render"></div>
<script>
const myElement = document.querySelector('#example-render');
$(myElement, { className: 'bg-yellow-300 rounded my-3 p-3' }, [
$('div', {}, 'Hello world!'),
$('ul', { className: 'list-disc pl-5' }, [
$('li', {}, 'Foo'),
$('li', {}, ['Bar ', $('b', { className: 'font-bold' }, 'Baz')]),
]),
]);
</script>More info 👉 https://afiiif.github.io/dom-dom-factory/