カレッヂ |
質問者 たろ
投稿日 4/28(月) 11:54:30
こんにちは。 画像とTEXTを同時に変更したくて下記のスクリプトを書いたのですが 画像は表示できるのですが、TEXTを変更する時点でエラーが出てしまいます。 エラー内容は「'documents.A2はNullまたはオブジェクトではありません。」 function ImageChange(data){ document.images["a2"].src = imagefile[data]; document.layers["A2"].document.open(); document.layers["A2"].document.write("<B>comment[data]</B>"); document.layers["A2"].document.close(); } ---本文--- <LAYER Name="A2"> <DIV style="top : -204px;left : 264px; position : absolute; z-index : 3; visibility : hidden; width : 203px; height : 32px; " id="A2"></DIV></LAYER> 根本的に考え方が違うのでしょうか? よろしくお願いいたします。
プロバイダ参照: |
回答者 cen_picture21
[削除]
投稿日 5/2(金) 17:20:24
エラーがでるブラウザが解ると的を得た説明を詳しくできるのですが残念です。 以下大変失礼ですが、推測で話を進める事をご理解ください。 document.images["a2"].src = imagefile[data] でIE4.0以上用NN6用で使用するsrc属性でうまくいったそうなので 多分これらのブラウザだとして IE4.0以上にはinnerTextやタグを追加して変更するのならinnerHTMLを使用してください。 NN6用にはdcument.createTextNode("") .appendChild() .removeChild()で対応します。 前述の document.layers["A2"].document.open(); document.layers["A2"].document.write(""); document.layers["A2"].document.close(); の部分を IE6で動作確認した場合には エラーが「'document.layers.A2'はNullまたはオブジェクトではありません。」がでます。 <LAYER>タグを利用してのスクリプトはNN4.X用だと思いますがどうでしょうか。 |
質問者 たろ
[削除]
投稿日 5/2(金) 22:59:53
cen_picture21さん、ありがとうございます。 的確なご指摘、ヒント本当にありがとうございます。 下記のスクリプトで無事に画像とTEXTを表示することが出来ました。 ちなみにエラーがでるブラウザは、IE6.0でした。 function ImageChange(data){ document.images["a2"].src = imagefile[data]; if(document.all){ document.all("A2").innerHTML = comment[data]; }else if(document.layers){ document.layers["A2"].document.open(); document.layers["A2"].document.write(comment[data]); document.layers["A2"].document.close(); }else if(document.getElementById){ document.getElementById("A2").innerHTML = comment[data]; } } |
返信(回答)する
Web裏技 |