Document.all y Safari

Hoy estaba haciendo un javascript para un menu de una web y había utilizado el tipico:

window.document.all.length

para saber cuantos elementos tiene el documento y recorrerlos, pero cual es mi sorpresa cuando descubro que no funciona en Safari, en Explorer y Firefox si.

Me pongo a buscar por Internet y en la web de developer Apple pone explicitamente que esta manera de acceder a los objetos DOM no funciona y que tengo que utilizar document.getElementById.

Así que la solución que he tenido que adoptar has sido poner un id al body y después acceder al número de elementos a través de:

window.document.getElementById(“cuerpo”).children.length

Actualización: He descubierto también que en Firefox no se puede asignar a una varible el document.all, si haces: col = document.all y luego accedes al contenido de col te da undefined.