こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Javascriptでのツリーメニュー表示について

Javascriptを利用して、ホームページ上でツリーメニューを表示させようと思っています。

以下のページのサンプルを元にしています。
【解説ページ】http://www.openspc2.org/reibun/javascript/mouse/063/index.html

上記は、1ページ毎に記述するタイプでテキストベースとなっております。
私は、はじめにツリーを展開するボタンをgif画像で作成し、それをクリックした際に画像の下にテキストベースのリンク文字が表示されるようにしたいと考えました。
また、それらは外部のjsファイルでの管理をしたいと思います。

まず、下記の構文を外部jsファイルで作成し<head>内でファイルの読み込みを行いました。
【↓clickmenu.js↓】
function exMenu(tName)
{
tMenu = document.getElementById(tName).style;
if (tMenu.display == 'none') tMenu.display = "block"; else tMenu.display = "none";
}

次に、下記のタグの部分も外部jsファイルで読み込みたいと思っています。

<a href="javaScript:exMenu('treeMenu1')">+</a>■検索サイト<br>~</div>まで

この実際のボタン部分も外部jsで読み込みたいと思う理由は、ページ数が非常に多く、メニューの追加や削除を、1つのファイルでどうしても管理したいからです。

フレームを利用せず、Javascriptでも同じ事が可能であることはわかったのですが、タグの部分がうまく外部ファイルにできなくて、表示が真っ白になってしまいます。

document.write('<a href="javaScript:exMenu('treeMenu1')">+</a>■検索サイト<br>');
のように、1行ずつ書いているのですが、hrefにjavaScriptを指定すると表示が消えてしまいます。

必ずこの型でというわけではないのですが、何とかうまく外部ファイルでボタン部分を表示させる方法がありませんでしょうか。ご教授願います。

投稿日時 - 2006-05-10 11:37:35

QNo.2142191

困ってます

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

>document.write('<a href="javaScript:exMenu('treeMenu1')">+</a>■検索サイト<br>');
>のように、1行ずつ書いているのですが、hrefにjavaScriptを指定すると表示が消えてしまいます。

これに関して言えば、シングルクォーテーション内でまたシングルクォーテーションが出てきているからだと思います。
'treeMenu1' の箇所を \'treeMenu1\' にしてみてはどうでしょう?

投稿日時 - 2006-05-10 11:55:17

お礼

ありがとうございます。
動きました…

文字ばかり気にしてしまい、気づきませんでした。
本当に助かりました。

投稿日時 - 2006-05-10 13:01:02

ANo.1

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

document.write('<a href="#" onclick="exMenu(\'treeMenu1\');return false">+<\/a>■検索サイト<br>');

投稿日時 - 2006-05-10 12:03:04

お礼

その通りですね、色々やりすぎて混乱しておりました。
ありがとうございます。

投稿日時 - 2006-05-10 13:01:45

あなたにオススメの質問