Así que estaba jugando con el document en JavaScript, como una forma alternativa de usar document.getElementById . Pero, ¿por qué document.all es igual a null ? Ejecuté algunos comandos para probar que es aún más 'falso'.
document.all // HTMLAllCollection[1276] document.all[0] // <html>...</html> typeof document.all // 'undefined' !{} // false. works correctly !document.all // true! WTF ¿Qué es esto? Otros objetos funcionan bien. ¿Qué pasó con el objeto document.all ? ¿Esta roto?
document.all es una API no estándar introducida por IE. No se considera una buena práctica de uso.
Para la compatibilidad con los sitios web que dependen de él, algunos otros navegadores lo han introducido.
Algunos sitios web que lo usan dependen de las pruebas de la presencia de document.all para determinar si el navegador es IE y lo usan para asumir que el navegador tiene un montón de errores y otras API no estándar proporcionadas por IE.
Los navegadores que agregaron soporte para fines de compatibilidad devuelven un valor falso para que no se identifiquen erróneamente como IE (y se les pase otro código que no funcionará en ellos).