この人頭いいなと思ったエピソード

以下はツリーメニューを表示するスクリプトです。

***********************************

<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=shift_jis">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<title></title>
<script>
<!--
function FUNC(Tname){
Tmenu=Tname.style;
if(Tmenu.display=="none"){
Tmenu.display="block";
}
else{
Tmenu.display="none";
}
}
//-->
</script>
</head>
<body>
<a href="javascript:FUNC(div1)">ツリーメニュー</a>
<div id="div1" style="display:none;">
<a href="#">aaaaaa</a><br>
<a href="#">bbbbbb</a><br>
<a href="#">cccccc</a><br>
</div>
</body>
</html>

***********************************

この場合、styleまでの階層を変数Tmenuに代入して、
それ以後はその変数Tmenuを使用しているわけですが、
変数Tmenuを宣言せずに、直接Tnameで階層を表現しようとしたらエラーになります。
(<script></script>内を以下のように記述した場合です)

<!--
function FUNC(Tname){
    if(Tname.display=="none"){
Tname.display="block";
}
else{
Tname.display="none";
}
}
//-->

なぜ引数をそのまま階層に使ったらエラーになるでしょうか?
よろしくお願いします<(_ _)>

A 回答 (1件)

div1はあくまでDIV要素であって、div1のstyleじゃないからです(^^;


Tnameを直接使用するなら
Tname.style.display = "block";
というような記述になります。
もしくは、FUNC(div1.style)で呼び出してTname.displayとするかですね。
    • good
    • 0
この回答へのお礼

おっしゃるとおりでした・・・
ほとんどケアレスミスに近いですね(汗)

階層をしっかり意識してないと、
変数や引数を使ったら途端に頭が混乱してきます。
十分気をつけたいと思います。

どうもありがとうございました<(_ _)>

お礼日時:2003/11/05 17:34

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