- ベストアンサー
JavaScriptのinnerHTMLの挙動について
下で"JavaScript内からJavaScriptを書き出したいのですが"で質問したものですが,ソースコードを簡単にして再質問したいと思います. ソースは以下のようにし,divタグのところにinnerHTMLで文字"test"とJavaScriptでアラートを表示させるものです.表示してみたところ,"test"は表示されるのですが,アラートは出てきません. これはinnerHTMLではHTMLのタグは評価されるが,JavaScriptは評価されない,ということなんでしょうか.JavaScriptのこのような仕様は調べにくいので困っています.回答宜しくお願いします. <html><head><title></title> <SCRIPT type="text/javascript"> <!-- var str='<font color="blue">test</font><script type="text/javascript">alert(123);</script>'; function gogo(){ document.all("here").innerHTML = str; } //--> </SCRIPT> </head><body> <div id="here" style="position:absolute;width:600px;left:0px;top:0px;"></div> <SCRIPT type="text/javascript"> <!-- gogo(); //--> </SCRIPT></body></html>
- みんなの回答 (3)
- 専門家の回答
お礼
回答ありがとうございます. 以前の質問でinnerHTMLはIE特有の・・・と教えていただいたのですが,私の持っているJavaScriptの本にWin,MacのIE,Netscapt,Mozillaにて動作すると書いてあったので,大丈夫だろうと考えていました. しかし,実際に試してみたところ, WinIE・・・文字の出力は○(フォントの色も) MacIE・・・アラートも表示 Netscape(Win,Macともに)・・・文字すら出ず Mozilla(Win,Mac)・・・文字すらでず Camino,Safari(Mac)・・・文字すら出ず で散々な結果でした. 皆さんが言うように,innerHTMLはあまり使わない方がよさそうだと実感しました. ありがとうございました.