プロが教えるわが家の防犯対策術!

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

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

上記は、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を指定すると表示が消えてしまいます。

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

A 回答 (2件)

>document.write('<a href="javaScript:exMenu('treeMenu1')">+</a>■検索サイト<br>');


>のように、1行ずつ書いているのですが、hrefにjavaScriptを指定すると表示が消えてしまいます。

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

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

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

お礼日時:2006/05/10 13:01

document.write('<a href="#" onclick="exMenu(\'treeMenu1\');return

;+<\/a>■検索サイト<br>');
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/05/10 13:01

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!