- ベストアンサー
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>
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
なんか凡ミスが目立ちますが、以下のように調整してみてはいかが? <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>
その他の回答 (1)
- pick52
- ベストアンサー率35% (166/466)
document.allはIE(Tridentエンジン)以外では使用できない場合がある のでこの方法ではダメです。 ID属性を取得するならDOMメソッドである document.getElementById を 使ってください。 var changeTEXT = document.getElementById('hoge2').innerHTML; http://www.tohoho-web.com/js/dom.htm#getElementById
お礼
ありがとうございます。 これから、IEだけでなくFirefoxとoprea、safariぐらいまで動作確認したいと思います。 紹介していただいたWebサイトも参考にしたいと思います。
お礼
ありがとうございます。 急いでいたので、すいません。 よく見ると非常に恥ずかしいコードで・・・ 思い通りの動きになりました。 ほんとにありがとうございます。 以後、よくコードを確認して投稿したいと思います。