• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:リンクメニュー収納を2つ以上つくりたいのですが)

リンクメニュー収納を2つ以上つくりたいのですが

このQ&Aのポイント
  • ホームページ作成中にjavascriptでのメニュー表示に問題が発生しています。一つのメニューは問題なく表示されるが、2つ以上のメニューを表示するとエラーが発生し表示されません。
  • 【項目1】をクリックするとリンクメニューが表示されるjavascriptを作成中ですが、複数のメニューを表示するとエラーが出てしまいます。
  • 複数のリンクメニューを作成するためのjavascriptでエラーが発生しており、正しく表示されません。回答お願いします。

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

  • ベストアンサー
  • ggaogg
  • ベストアンサー率43% (38/88)
回答No.1

まず最初に、ここのカテゴリはJava専用で、JavaScript用のカテゴリも用意されていますので、JavaScriptについてはそちらで質問して下さい。 以下回答です。 <div id="a" style="display:none"> という部分がありますが、これのIDは'a'です。 IDは、1つのHTMLの中でユニークでなければならないので、他の部分にもid="a"と書いてしまうと、エラーとなってしまったりします。 単純にコピーして、同じIDを複数作ったりしていませんか? このことを踏まえて自分好みにスクリプトを記述すると、次のようになります(動作確認済み)。(注:インデントは全角で行っています。) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <HTML>  <HEAD>   <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">   <META HTTP-EQUIV="Content-Script-Type" CONTENT="javascript">   <SCRIPT TYPE="text/javascript">    function showHide(id) {     var elem = document.getElementById(id);     if (elem.style.display == "none") {      elem.style.display = "";     } else {      elem.style.display = "none";     }    }   </SCRIPT>  </HEAD>  <BODY>   <DIV>    <A HREF="javascript:showHide('menu1')">めにゅー1</A>    <DIV ID="menu1">     <DIV>1-1</DIV>     <DIV>1-2</DIV>    </DIV>   </DIV>   <DIV>    <A HREF="javascript:showHide('menu2')">めにゅー2</A>    <DIV ID="menu2">     <DIV>2-1</DIV>     <DIV>2-2</DIV>    </DIV>   </DIV>  </BODY> </HTML> あと、直接expand(a)としたら、引数のaは要素が渡されるということは始めて知りました。(普通はdocument.getElementById(IDの名前)によって要素を取得しますよね)勉強になりました。 何か技術的に分からない部分があれば、捕捉してもらえれば、お答えします。

jade3312
質問者

お礼

迅速で的確なご回答ありがとうございます! >まず最初に、ここのカテゴリはJava専用で、JavaScript用のカテゴリも用意されていますので、JavaScriptについてはそちらで質問して下さい。 大変失礼いたしました。javaとjavascriptは違うのですね…。次回から気をつけます。ご指摘ありがとうございます。 >単純にコピーして、同じIDを複数作ったりしていませんか? 確認したら、ご指摘どおりでした。IDを変えてみたら上手く表示されました。記述していただいたスクリプトも大変参考になりました!活用させていただきます。動作確認までしていただき、ありがとうございます!こちらこそ勉強になりました。ご丁寧な回答で、とても助かりました。また質問をさせていただいた時はよろしくお願いいたします♪

関連するQ&A