ich glaube, Du möchtest Dich allgemein - und zunächst absolut unabhängig von JavaScript - mit Objektorientierung beschäftigen. Weder das "document" noch das "getElementsByTagName()" sind an der Stelle auch nur im Mindesten sinnbehaftet.
Was will uns der Autor damit sagen?
"document" ist ein Objekt und "getElementsByTagName()" eine Methode, die selbst wieder Objekte liefert. Was soll da (oder soll nicht) sinnbehaftet sein? Nun ist JavaScript nicht gerade die Vorzeige-OO-Sprache. In C++, C#, PHP oder selbst in VB kann ich jederzeit den Typ eines Objekts bestimmen. Das scheint mir in JS nicht ganz so einfach zu sein, weil alles mehr oder weniger ein "object" ist. Ich hab das Problem jetz mit parentNode und nodeName gelöst, da mit typeof oder instanceof nur "object" kennen (siehe meine letzten Eintrag).
Das kommt darauf an, was ich bereits habe und in welchem Kontext ich mich befinde. Handelt es sich beispielsweise um den onchange-Handler eines Eingabefeldes, genügt mir ein "this".
Ich habe eben nichts außer dem Objekt, denn ich befinde mich in einer Funktion. Das Objekt kann druchaus per "this" übergeben worden sein, oder per getElementById oder von mir aus als Element-Collection-Eintrag, völlig egal. Und ich möchte einfach nur das zu diesem Objekt gehörende document, also in der Objekthierarchie nach oben.
Für mich ist das Problem damit gelöst.
Viele Grüße,
Joachim