Прямо сейчас вы добавляете базу к фону, а затем добавляете все элементы к элементу wrap
на верхнем уровне. Также обратите внимание, что когда вы вызываете shelfBackground.appendChild(base)
, он возвращает присоединенный дочерний элемент base
, поэтому он является последним элементом в вашей структуре вывода.
Вам нужно вместо этого добавить элементы на основе их соответствующие родители, то есть:
...
// Build the structure from the bottom up
shelfBackground.appendChild(base); // shelf-background > base
shelf.appendChild(shelfBackground); // shelf > shelf-background > base
wrap.appendChild(shelf); // wrap > shelf > shelf-background > base