Изучение мощных манипуляций с DOM с помощью JavaScript: подробное руководство по использованию querySelectorAll()
Плюсы и минусы использования createElement() и AppendChild() по сравнению с InternalHTML в JavaScript