ugrás a tartalomhoz

JS getElementById() nem létező ID esetén

nobzol · 2007. Dec. 28. (P), 18.44
Hello!
A következő lenne a problémám:
Van egy js fájlom (a.js), ezt minden egyes html oldalamon meghívom (<script src=...).
Namost, ebben a js fájlban azt csinálom, hogy bizonyos ID-jű td celláknak értéket adok .innerHTML-el. Csakhogy ezek az ID-k nem mindegyik HTML oldalon szerepelnek, és egy HTML oldalon nem ez összes ID szerepel. És ahogy betöltődik az oldal és akár egy ID is hiányzik az oldalról, akkor megáll a js futása. Gondolom az lehet, hogy mivel nem létezik az adott oldalon az adott ID, ezért azt hiszi, hogy akkor vége van vminek.
Tehát akkor a kérdés: hogyan lehet azt megoldani, hogy nem létező ID esetén is tovább fusson a script?

a.js:

document.getElementById('m01').innerHTML = 'egy';
document.getElementById('m02').innerHTML = 'ketto';
document.getElementById('m03').innerHTML = 'harom';
//stb...
b.html

<table><tr>
 <td>cím</td>
 <td id="m01"></td>
 <td>valami</td>
 <td id="m03"></td>
</tr></table>
Ilyenkor azt csinálja, hogy az "m01" ID-jű cellába beírja az "egy"-et, de mivel nincs "m02" ID, ezért az "m03"-as ID-jű cellába már nem ír semmit.
Előre is kösz a segítséget, Zoli.
 
1

kösd feltételhez

gex · 2007. Dec. 28. (P), 18.58
if (document.getElementById('m01')) {
    document.getElementById('m01').innerHTML = 'egy';
}
2

kezeld a kivételeket

zila · 2007. Dec. 28. (P), 19.54
try {
     document.getElementById('m01').innerHTML = 'egy';
} catch(e) {}
3

Kösz!!

nobzol · 2007. Dec. 28. (P), 22.07
Nagyon köszönöm a segítségeket, működik a dolog!
Üdv, Zoli.