persikova,
Это потому что методы getElement....by.... возвращают элемент или коллекции элементов, которые не являются чистыми массивами и поэтому не имеют метода push
Короче
var fragment = document.createDocumentFragment();
for (var i = 0; i < 10; i++) {
var span = document.createElement('span');
span.innerHTML = Math.floor((10) * Math.random() - 5);
fragment.appendChild(span);
};
document.getElementById('mydiv').appendChild(fragment);