• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:FireFoxだけちゃんとうごいてくれないです)

FireFoxでメニューが正しく動作しない問題の解決方法とは?

このQ&Aのポイント
  • JavaScriptを使用してFireFoxでメニューを開閉させる方法についての質問です。
  • IE8やGoogle Chromeでは正常に動作するが、FireFoxではうまく動作しない現象が発生しています。
  • FireFox3での問題の原因や解決策、他のブラウザとの互換性について教えていただきたいです。

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

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

補足 >メニューでidを使うと運用面で破たんするので構造を使って >処理した方がいいですよ >上記、もしよろしければ解説していただけますか? idを指定してメニューの表示・非表示をすることは 一文書にメニューが一つであるという保証もなく 各メニューに細かくidをどう振って管理するか調整することになります。 idは一文書のなかでは同じ名称をつけてはいけない規則になって いますので、idを任意でつけて管理するのは思いのほか大変です。 今回のケースのようにメニューに対する子メニューなど構造が はっきりしているのであれば、その構造を利用して処理をするのが 妥当だという意味です。

MIYABF5D
質問者

お礼

再度ありがとうございます。 丁寧な解説で理解しました。 (理解したつもり?) 本当にありがとうございます!

その他の回答 (1)

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

><li class="li> のクォーテーションを閉じてないから? メニューでidを使うと運用面で破たんするので構造を使って 処理した方がいいですよ <script type="text/javascript"> function treeMenu(obj) { var n=obj.parentNode; while(n){ n=n.nextSibling; if(n.nodeName=="UL"){ n.style.display =(n.style.display == 'none')? "block":"none"; break; } } return false; } </SCRIPT> <ul> <li class="li"><div><a href="#" onclick="return treeMenu(this)">メニュー1</a></div> <ul style="display:none"> <li class="li_sub"><a href="index.html">小メニュー1-1</A></li> <li class="li_sub"><a href="index.html">小メニュー1-2</A></li> </ul> </li> <li class="li"><div><a href="#" onclick="return treeMenu(this)">メニュー2</a></div> <ul style="display:none"> <li class="li_sub"><a href="index.html">小メニュー2-1</A></li> <li class="li_sub"><a href="index.html">小メニュー2-2</A></li> </ul> </li> <li class="li"><div><a href="#" onclick="return treeMenu(this)">メニュー3</a></div> <ul style="display:none"> <li class="li_sub"><a href="index.html">小メニュー3-1</A></li> <li class="li_sub"><a href="index.html">小メニュー3-1</A></li> </ul> </li> </ul>

MIYABF5D
質問者

お礼

早速の回答ありがとうございます。 ><li class="li> は本文のみのミスでした。 指摘していただきありがとうございます。 まだまだ勉強中の身ですので じっくり拝見させていただきます。

MIYABF5D
質問者

補足

回答への質問となってしまい恐縮ですが メニューでidを使うと運用面で破たんするので構造を使って 処理した方がいいですよ 上記、もしよろしければ解説していただけますか? idとかclassとかの理解がイマイチなヤツですので せっかくの説明が理解できないかもしれませんが、 調べて勉強したいと思いますのでよろしくお願いいたします。

関連するQ&A