Portál AbcLinuxu, 3. května 2025 17:18
document.getElementById('odp') != null
?
odpoved=document.getElementById('odp'); if (typeof odpoved == "object") { if (document.getElementById('odp').innerHTML) { casovac = window.setInterval("odpocet()", odpocitavani*100); } }Mozna ze by to slo nacpat do jednoho ifu, ale nejsem si jisty, jakym zpusobem Javascript vycisluje vyrazy - pokud nedela short-circuit (tj. zruseni vyhodnocovani v okamziku, kdy je vysledek jasny, treba false u and nebo true u or), vyhodilo by to chybu..
if (document.getElementById('odp')) { alert("Zahajuji odpočet"); casovac = window.setInterval("alert('odpocet');odpocet()", odpocitavani*100); }Jestli vám to nezobrazí ani „Zahajuji odpočet“ (a element s id="odp" ve stránce bude), tak sním vlastní klobouk. Dál může být problém v tom, že neexistuje globální proměnná
odpocitavani
nebo globální funkce odpocet()
.
document.getElementById()
nefunguje v historických verzích MSIE.
document.getElementById() nefunguje v historických verzích MSIETo řeším obvykle:
if (!document.getElementById && document.all) document.getElementById = document.all;
document.getElementById()
volá tuhle metodu a tam, kde je document.all
používá to. Rozdíl je v tom jediný – nezbořím si tím test na existenci document.getElementById
. Někdy může být potřeba emulovat chování document.getElementById()
trochu jinak, a pak potřebuju vědět, že nativní getElementById()
není k dispozici.
if (! document.getElementById) { if (to && ono && ...) document.getElementById = fn_getElementById_1 else if (to && ono) document.getElementById = fn_getElementById_2 else if (to) document.getElementById = fn_getElementById_3 else if (ono) document.getElementById = fn_getElementById_4 ... }
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.