Ich habe bisher immer folgende Abfrage benutzt und auch immer empfohlen bekommen:
von Thomas Lahn?
if ((typeof(document.getElementById))=="function") or (typeof(document.getElementById)=="object"))
wenn jemand die Methode überschreibt sie damit nicht mehr zu Verfügung steht, dann hilft das, aber wer sollte sowas tun?
bzw. if (typeof(document.getElementById)!="undefined")
schon eher.
Wo liegt der Unterschied? Liefert obige Abfrage nicht in alten IE-Versionen den Fehler getElementById ist nicht definiert?
nein (ich hab hier einen IE 4 und der macht nix dergleichen), da document existiert reicht die einfache Variante von mir, lediglich MZ wirft eine Warnung, wenn man auf undefinierte Attribute prüft, da aber in diesem Fall das Attribut existiert, sollte sich niemand beschwert
Struppi.