Autor | Zpráva | ||
---|---|---|---|
sotek Profil * |
Ahoj,
nejde nějak nastavit pro celý javascript kód obecně (nějakou nadřazenou funkcí běžící na pozadí stránky), aby v případě, že v průběhu libovolné funkce, která bude pracovat s getElementById() nebo případně i s getElementsByTagName() to nevyhodilo hlášku v případě, že tento objekt nenajde? Jde to nebo musím všude dát podmínku? Příklad: aby vždy místo zápisu: function hide() { if (document.getElementById('neco1')) { document.getElementById('neco1').style.color= 'black'; document.getElementById('neco1').style.display= 'block'; } } stačilo rovnou: function hide() { document.getElementById('neco1').style.color= 'black'; document.getElementById('neco1').style.display= 'block'; } Moderátor Chamurappi: Vkládej prosím kódy mezi značky [>pre] a [>/pre] (stačí kliknout na ).
|
||
roberta Profil |
#2 · Zasláno: 31. 8. 2010, 13:28:20 · Upravil/a: roberta
asi to neide. najprv to otestuj, či je objekt rovný hodnote null...
|
||
Witiko Profil |
#3 · Zasláno: 31. 8. 2010, 13:34:47
Můžeš to obalit do try{}catch(error){}, ale testování je podle mého čistší způsob zápisu.
|
||
Chamurappi Profil |
#4 · Zasláno: 31. 8. 2010, 13:40:16
Reaguji na sotka:
Můžeš si udělat vlastní funkci, která v případě nenalezení elementu podle ID vrátí nějakou jeho objektovou napodobeninu, u které neselže nic z toho, o co se pokoušíš. Ale připadá mi to jako špatný nápad. Podmínka je v tomto případě názorná a optimální. |
||
Darker Profil |
#5 · Zasláno: 31. 8. 2010, 16:42:14
Jak prene je syntaxe try?
Je to: try{ skusit provest } ? A catch(error)je co? |
||
_es Profil |
#6 · Zasláno: 31. 8. 2010, 17:01:41 · Upravil/a: _es
darker:
„A catch(error)je co?“ Viď dokumentácia. Tam bude skript pokračovať v prípade chyby. Mimochodom, prečo mi nejde vložiť odkaz s url: https://developer.mozilla.org/en/JavaScript/Reference/Statements/try...catch ?
|
||
Chamurappi Profil |
#7 · Zasláno: 31. 8. 2010, 17:40:47
Reaguji na _es:
„Mimochodom, prečo mi nejde vložiť odkaz […]“ Protože v sandboxu je nahrazování tří teček za trojtečku. Můžeš použít místo jedné z teček entitu &>#46; .
|
||
Časová prodleva: 14 let
|
0