А, пардон, оказывается, использование
.getElementsByTagName('*')
позволяет вообще все дочерние элементы получить. Я и не знал. Тогда все верно.
Но дело в том, что на момент выполнения этой строки того самого элемента с идентификатором name просто не существует - он еще не загрузился. Нужно так:
window.onload = function(){
setTimeout(function(){location.reload()}, 10000);
var name = document.getElementById('name').getElementsByTagName('*')[1].innerHTML;
alert(name);
}