Autor | Zpráva | ||
---|---|---|---|
blast3r Profil |
#1 · Zasláno: 7. 6. 2012, 12:39:23
Zdravím,
Snažím sa pracovať s jedným elementom <div id="PixelFrame"> a stále mi to hádže error. JS Kód: <script language="javascript" type="text/javascript"> function Pixel(color) { this.color = color; this.drawPixel(); } Pixel.prototype.drawPixel = function () { var frame = document.getElementById("PixelFrame"); var pixel = document.createElement("div"); switch (this.color) { case "white": alert("white"); pixel.setAttribute("class", "WhitePixel"); break; default: alert("err"); break; } frame.appendChild(pixel); } window.onload = initPage(); function initPage() { Pixel1 = new Pixel("white"); } </script> HTML: <body> <form id="form1"> <div id="PixelFrame"> </div> </form> </body> Na zvýraznenom riadku mi to hádže error: Nelze načíst hodnotu vlastnosti appendChild: Objekt má hodnotu Null nebo není definován. |
||
_es Profil |
#2 · Zasláno: 7. 6. 2012, 12:46:10
|
||
Chamurappi Profil |
#3 · Zasláno: 7. 6. 2012, 12:51:40
Reaguji na blast3ra:
„pixel.setAttribute("class", "WhitePixel");“ Proč setAttribute ? Proč ne pixel.className ? Tohle ti nebude fungovat správně ve všech prohlížečích.
|
||
blast3r Profil |
_es:
Čítal som to, pred tým, než som pridal príspevok a zdalo sa mi, že mám všetko tak ako má byť. Mohol by si mi to prosím ťa trošku rozpísať? :-) Chamurappi: No o tom som nevedel, ďakujem. |
||
Chamurappi Profil |
#5 · Zasláno: 7. 6. 2012, 12:54:33
Reaguji na blast3ra:
V době, kdy voláš funkci initPage , ještě element s daným id neexistuje. Voláš ji na řádku 27, ne až při události onload .
|
||
_es Profil |
#6 · Zasláno: 7. 6. 2012, 13:09:02
blast3r:
„Mohol by si mi to prosím ťa trošku rozpísať? :-)“ V tom odkazovanom odseku to je rozpísané dosť, stačí si to len pozorne prečítať. |
||
blast3r Profil |
Aha, takže stačilo odstrániť ()
function initPage() { Pixel1 = new Pixel("white"); } window.onload = initPage; |
||
Časová prodleva: 12 let
|
0