Как правильно добавлять новые элементы в DOM с помощью JS?
Как это сделать правильно:
1. Создать элеммент, а потом его добавить document.createElement(...)
2. Определить .innerHTML element.innerHTML(...)
3. Есть лучший вариант?
У способов свои особенности. Например, очевидно, innerHTML заменит собой все, что было ранее. А createElement() позволяет заранее навесить слушателей событий прямо на создаваемый элемент.
Для оценки, что лучше, в вопросе недостаточно данных. Какова задача, как сами оцениваете каждый из двух способов?
volucris1, часто встречающаяся задача: в цикле создать по темплейту какие-то компоненты. Простой её вариант, без всяких событий-логики-интерактива. По сути просто генерация строки из темплейта. Поэтому, в этом случае, наверное, излишне возиться с createElement(): итоговая структура неочевидна, сложнее менять.
Для удобства работы с кодом, я бы HTML этого куска вставил в страницу как элемент <template> с плейсхолдерами типа {{title}}, которые потом заменять на значения для очередного фильма.
Ну, или это хороший момент наконец, начать разобираться с VueJS и сделать на нём пока только этот момент.