• ベストアンサー

innerHTMLを使ってID要素の内容を変えたい

innerHTMLを使ってID要素の内容を変えたいのですが、 下記のような使い方はできないのでしょうか? var changeTEXT = document.all("hoge2").innerHTML; できない場合、これに変わるようなものがありましたら教えていただけたら、うれしいです。 よろしくお願いします。 <html> <head> <script language="JavaScript" type="text/javascript"> <!-- var changeTEXT = document.all("hoge2").innerHTML;         function change1_ID(){ if(document.all){ document.all("hoge1").innerHTML = changeTEXT } if(document.getElementById){ document.getElemntById("hoge1").innerHTML = text1 } } //--> </script> <style type="text/css"> <!-- #hoge1 { margin: 0px; padding: 0px; height: 600px; width: 600px; } #hoge2 { margin: 0px; padding: 0px; height: 600px; width: 600px; } --> </style> </head> <body> <div id="hoge1" onclick="change_ID()"> ここの内容を変えたい</div> <div id="hoge2"> ここに入力されたHTMLの内容をhoge1の内容にしたい</div> </body> </html>

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

なんか凡ミスが目立ちますが、以下のように調整してみてはいかが? <script language="JavaScript" type="text/javascript"> var changeTEXT =""; window.onload=function(){ if(document.all) changeTEXT = document.all("hoge2").innerHTML; if(document.getElementById) changeTEXT = document.getElementById("hoge2").innerHTML; } function change_ID(){ if(document.all){ document.all("hoge1").innerHTML = changeTEXT } if(document.getElementById){ document.getElementById("hoge1").innerHTML = changeTEXT } } </script>

Hiro_alive
質問者

お礼

ありがとうございます。 急いでいたので、すいません。 よく見ると非常に恥ずかしいコードで・・・ 思い通りの動きになりました。 ほんとにありがとうございます。 以後、よくコードを確認して投稿したいと思います。

その他の回答 (1)

  • pick52
  • ベストアンサー率35% (166/466)
回答No.2

document.allはIE(Tridentエンジン)以外では使用できない場合がある のでこの方法ではダメです。 ID属性を取得するならDOMメソッドである document.getElementById を 使ってください。 var changeTEXT = document.getElementById('hoge2').innerHTML; http://www.tohoho-web.com/js/dom.htm#getElementById

Hiro_alive
質問者

お礼

ありがとうございます。 これから、IEだけでなくFirefoxとoprea、safariぐらいまで動作確認したいと思います。 紹介していただいたWebサイトも参考にしたいと思います。

関連するQ&A