• ベストアンサー

Firefoxで表示できないのは何故でしょう?

お世話になります IE6、Operaでは表示できたのですがFirefoxでは表示できませんでした(><) 何か見落としがあるのでしょうか? <script language="javascript"> <!-- window.onload = function() { n=document.getElementById("div1").innerText; if(n == "a0"){ document.getElementById("img1").style.display = "block"; document.getElementById("img1").style.top = "100px"; document.getElementById("img1").style.left = "100px"; } if(n == "a"){ document.getElementById("img2").style.display = "block"; document.getElementById("img2").style.top = "100px"; document.getElementById("img2").style.left = "200px"; } } //--> </script> <div id="div1">a</div> <form action="test.cgi" method="post"> <input type="hidden"name="a" value="leap_day"> <input type="image" src="sample0.gif" id="img1" style="position:absolute;display:none;"> </form> <form action="test.cgi" method="post"> <input type="hidden"name="b" value="leap_day"> <input type="image" src="sample1.gif" id="img2" style="position:absolute;display:none;"> </form> n=document.getElementById("div1").innerText; if(n == "a0"){ } if(n == "a") { } を消すと表示はできるのですが・・・

質問者が選んだベストアンサー

  • ベストアンサー
noname#49664
noname#49664
回答No.2

n=document.getElementById("div1").innerText;  ↓ n=document.getElementById("div1").innerHTML; こうしてみてください。

leap_day
質問者

お礼

回答ありがとうございます innerHTMLに変更すると表示できました(^^) ありがとうございます TextとHTML同じようなものに思ってたけどやっぱ別物なのですね(><)

その他の回答 (2)

  • MAN_MA_RUI
  • ベストアンサー率41% (426/1024)
回答No.3

Firefoxの場合エラーコンソールを覗くと原因の分かる場合があります。 今回に限ったことじゃなく幅広いところで応用の利く発想なので一応。

leap_day
質問者

お礼

回答ありがとうございます IEやOreraではブラウザの設定でエラー表示させる方法は知ってたのですがFirefoxでは知らなかったので参考になりました 見てみるとやはり例の部分がエラーになっていました(--;) ありがとうございます

noname#39970
noname#39970
回答No.1

window.onload で処理するよりも bodyタグに onLoad で呼ぶようにした方が確実だと思う。 window.onload だとfirefoxでは動作しないかもしれない (HTMLが描画される前に評価されてしまう可能性)

leap_day
質問者

お礼

早速の回答ありがとうございます <script language="javascript"> <!-- function a() { (省略) //--> </script> </head><body onLoad="a()"> <div (省略) </form> としてみましたが残念ながら無理でした(><)

関連するQ&A