Hola:
En realidad solo es necesario conocer la raíz del documento (document.documentElement) y usar un bucle asociativo (for..in)... y lo único un poco especial es la sintaxis try..catch para resolver los posibles errores... el código creo que está en la propia página...
Saludos