как я понимаю, вы именно на ванильном жабаскрипте пытаетесь, поэтому библиотеки и фреймворки советовать не буду.
новый элемент списка я бы вам советовал всё равно сделать в виде шаблона, хотя бы простого жабаскриптовского многострочного литерала. вот текст самой тудушки в нём лучше скриптом прописать в innerText, чтобы не эскейпить руками.
вместо того, чтобы на каждую созданную тудушку цеплять все обработчики событий, лучше обработку делегировать - повесить их один раз на сам список. а то, какую кнопку какой конкретно тудушки кликали, общий обработчик может выяснить по event.target.
кнопки "Изменить" "Удалить" лучше показывать не скриптом, а цсс.
ну и самое главное, вы фактически модель данных держите прямо в хтмл элементах. это приемлемо работает только на примитивных примерах, вроде вашего. в большинстве реальных случаев куда проще иметь разделение на модель данных, которыми оперирует скрипт, и их отображение в виде хтмл. почитайте про паттерн model-view-controller.