2011-09-23 11 views
-1

親リストのポイントをクリックすると子リストを表示したいのですが(Wikipediaの記事でコンテンツテーブルを最小化して最大化できる方法と同様です)、どうすれば実現できますか?イベントをクリックしたときに表示されるリスト

私は基本的なHTML年前に学んだことがあり、それを学んだとしてもこれをどうやって行うのか覚えていません。助けてくれてありがとう。

+0

Javascriptを+ DOM多分?あなた自身で何か試しましたか? – JohnFx

答えて

1

をあなたがすることはできませんこれを行う。ここで

jQueryと例です。

JS

$('#nav > li').click(function() { 
    $(this).find('ul').toggle(); 
}); 

HTML:

<ul id="nav"> 
    <li>Menu item</li> 
    <li>Menu item</li> 
    <li>Menu item</li> 
    <li>Menu item</li> 
    <li>Menu item 
     <ul class="sub-menu"> 
      <li>Menu item</li> 
      <li>Menu item</li> 
      <li>Menu item</li>   
     </ul> 
    </li> 
</ul> 

コード:http://jsfiddle.net/4mgqK/2/

+0

私はそれが遅れていることを知っていますが、あなたが私をノブにすることを許すならば、私はそれらを置くはずです。すべてのコードが1つのファイルに含まれているか、JSとHTMLファイルが別々になっていますか?もし彼らがどのような名前を分けなければならないのですか? – Oxwivi

+0

どのように名前を付けても問題ありません。同じページにスクリプトとマークアップの両方がある場合は、jQueryライブラリを参照するのを忘れないでください。別のファイルにする場合は、このファイルへの参照も必要です。そして、このスクリプトを '$(document).ready(function(){/ * code here * /});にラップすることを忘れないでください; – Samich

+0

あなたは私のページの上に答えに書いたものを正確に書いていますか?これに言及したので、 'ul'タグで' nav'文書を参照しています。ありがとう! – Oxwivi

0

あなたはツリービューを意味しますか?その場合は、jsTreeのようなものがあなたの目的に合っているかもしれません。

ブロック(たとえば、div要素に含まれる)のブロックを表示または非表示にする必要がある場合は、jQuery toggleが必要な場合があります。

0

これを行うにはjavascriptを使用できます。 jQueryを使用する場合、これを行うのは非常に簡単ですが、ページにjQueryを追加する必要があります。基本的なjQueryの詳細については、ここで見つけることができます:

http://docs.jquery.com/How_jQuery_Works

あなたはjQueryのをインポートする場合、あなたはそれをこのように行うことができます任意のスクリプト(JavaScriptやjQueryの)Withou

$("#parentElementId").click(function() 
// if your parentElement has been clicked, excecute this function 
{ 
    $("#childElementId").show(); // if it has been hidden before with css(display:none) 
}); 
関連する問題