• ベストアンサー

innerHTMLを使わずに…

初めまして。 よく、リンクに触れると、下に説明文が表示される…というようなサイトがありますよね。 それの応用で、innerHTMLを使わずに以下のような物を作りたいのですが、お力を貸してくださいm(_ _)m ボタンAとボタンBがあって、ボタンAをクリックすると画像Aを表示。 ボタンBをクリックすると画像Aから画像Bに表示が切り替わる。 その表示した画像に個別のリンクを貼る。 <table border="0" cellspacing="0" cellpadding="0"> <tr> <td><A onMouseOver="img.innerHTML='<a href=URL><IMG src=画像Aアドレス></a>'" onMouseOut="text.innerHTML='<a href=リンクA><IMG src=画像Aアドレス></a>'">ボタンA</A></td> <td rowspan="2"><font id="img"></font></td> </tr> <tr> <td><A onMouseOver="img.innerHTML='<a href=URL><IMG src=画像Bアドレス></a>'" onMouseOut="text.innerHTML='<a href=リンクB><IMG src=画像Bアドレス></a>'">ボタンB</A></td> </tr> </table> という物を作りたいのですが、innerHTMLは対応していないブラウザが多いので、使用したくないのです。 JavaScript、CSSはOKです! よろしくおねがいします。

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

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

そういうのはあらかじめ全部書き出しておいて隠す。 必要に応じて表示するときれいに書けます。 <style type="text/css"> .hidden{ display:none; } </style> <script type="text/javascript"> function clickFunc(areaid){ var area=document.getElementById(areaid); var n=area.parentNode.firstChild; while(n){ if(n.nodeName=="DIV") n.style.display="none"; n=n.nextSibling; } area.style.display="block"; } </script> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td><a href="#" onclick="clickFunc('areaA')">ボタンA</a></td> <td rowspan="2"> <div id="areaA" class="hidden"><a href=URLA><IMG src=画像A></a>Aだよん</div> <div id="areaB" class="hidden"><a href=URLB><IMG src=画像B></a>Bですわ</div> </td> </tr> <tr> <td><a href="#" onclick="clickFunc('areaB')">ボタンB</a></td> </tr> </table>

ami1225
質問者

お礼

できました~^^ こんなに早く回答して頂けて、助かりました! ありがとうございますm(_ _)m

その他の回答 (1)

  • mirai_01
  • ベストアンサー率0% (0/1)
回答No.1

onMouseOutの後がどちらも間違っています。 text.innerHTML ではなく、 img.innerHTML ですよね?

ami1225
質問者

補足

ごめんなさい>< 投稿してから気づいたんですが、消せないし、編集できないし、自分では書き込みできないし…と困っていました^^; 正しいのは下記になります。 <table border="0" cellspacing="0" cellpadding="0"> <tr> <td><A onMouseOver="img.innerHTML='<a href=URL><IMG src=画像Aアドレス></a>'" onMouseOut="img.innerHTML='<a href=リンクA><IMG src=画像Aアドレス></a>'">ボタンA</A></td> <td rowspan="2"><font id="img"></font></td> </tr> <tr> <td><A onMouseOver="img.innerHTML='<a href=URL><IMG src=画像Bアドレス></a>'" onMouseOut="img.innerHTML='<a href=リンクB><IMG src=画像Bアドレス></a>'">ボタンB</A></td> </tr> </table>

関連するQ&A