カレッヂ |
質問者 ryokutya
投稿日 9/10(月) 15:42:40
現在、ボタンを押したときなどに、 普通のテキストを動的に書きかえようとしており、 JavaScriptで以下のように書いています。 <body> : <div id="foo">書かえ前テキスト</div> <input type="button" onClick="javascript:chkSKoutei();"> : </body> <script type="text/javascript"> <!-- function chgSKoutei() { if( document.all ) { document.foo.innerHtml = "書きかえ後テキスト"; } else if( document.layers ) {"); document.foo.document.open();"); document.foo.document.write("書きかえ後テキスト"); document.foo.document.close();"); } } //--> </script> 一応ネスケに対応したのですが、ネスケでは動作せず 理由を調べたところ、位置をウインドウ内で固定するなら、 書きかえることができるようになりました。 <div id="foo"> ↓ <div id="foo" style="position:absolute;top:80px;left:90px;"> しかし、これでは、テーブルなどの中のテキストを書きかえたいとき 表示位置を計算しなければならず、しかも、IEとネスケでは 表示位置がずれてしまっているのです。 ネスケで普通のテキストを書きかえることができて、固定でない 位置に表示する方法はないでしょうか。 また、他のアプローチはあるでしょうか。 よろしくお願い致します。 |
回答者 しあわせのツボ
[削除]
投稿日 9/10(月) 16:28:15
positionをrelativeにして0,0の位置を指定するとどうなりますか? |
質問者 ryokutya
[削除]
投稿日 9/10(月) 19:52:09
お返事ありがとうございます。 さっそく、positionをrelativeにして 位置を0,0にしてやってみたところ、 やったー!ネスケで書かえできました! といきたかったのですが、なんと こんどは、IEが<div>のオブジェクトを 認識しなくなって、しまいました(;_;)。 デバッガで探したのですが、見つかりません。 もしかして、<div>のrelativeはIE側がだめ なのかもしれないですね。 ひーん。 |
回答者 たろぼー
[削除]
投稿日 10/2(火) 20:40:06
fnction chgSKoutei() { if (document.getElementById) { // NN6,IE5 document.getElementById("foo").innerHTML = "書きかえ後テキスト"; } else if( document.all ) { // IE4 document.all.foo.innerHTML = "書きかえ後テキスト"; } else if( document.layers ) { // NN4 document.foo.document.open(); document.foo.document.write("書きかえ後テキスト"); document.foo.document.close(); } else で多分いけると思います。 とりあえず、NN4.75(Win) IE5 SP2(Win) NN6(Mac)では動きました。 (NN4.5(Mac)ではボタンすら押せなかった...HTMLをミスった可能性が大きいけれど) style指定の部分ですが、positionはrelativeでもabsoluteでも 大丈夫みたいです。 ただし、topとleftが指定されていないとNNでは動きませんでした。 |
返信(回答)する
Web裏技 |