Да, обрати внимание, что нигде в коде не обращаемся к узлам - детям детей.
Исключение в onLoad, да и то потому, что this - пустой.
Второе исключение я допускаю для текстовых узлов в обращениях вида:
node.firstChild.nodeValue;
все остальные случаи - признак неидеальной организации проекта
