Hallo Cybaer,
if(document.all) {
tck = document.all.ticker;
} else {
tck = document.getElementById('ticker');
}
Daß ein Browser all nicht beherrscht, ist definitiv kein Kriterium für die Beherrschung von getElementById. :-o
Mir geht es bei dieser Abfrage auch weniger darum sicherzustellen, dass der Browser die Objekte kennt. Ich gehe hier (Vorsicht Denglish:) "quick'n dirty" einfach davon aus, dass in 99% der Fälle der Browser des Nutzers schon zumindest eines der beiden Objekte verstehen wird.
Mir geht es hier eher um die Browser, die beide Objekte beherrschen, also z.B. IE5/6 und die neueren Opera-Versionen.
Ich habe insbesondere bei Opera 7.54 den Verdacht, dass dieser Browser DOM-Objekte intern immer in entsprechende ALL und ALL-Unterojekte umwandeln muss, da ich hier deutliche Performanzunterschiede bemerke.
So brauchte Opera z. B. bei http://www.sprachlernspiele.de/selftests/klappmenue/index.html mit einer zugegeben extrem langen verschachtelten Liste dreimal so lange zum Abarbeiten der Initialisierungsfunktion mit document.getElementsByTagName("LI") wie mit document.all.tags("LI")
.
Gruß Gernot