2011-09-23 39 views
-1

我想要在點擊父列表中的某個點時出現子列表(類似於點擊可以最小化和最大化維基百科文章中的內容表),我該如何實現它?列表出現在點擊事件中

我已經學習了幾年前的基礎HTML,並且不記得如何做到這一點,即使我沒有學過它。謝謝您的幫助。

+0

的Javascript + DOM可能?你有沒有嘗試過自己的東西? – JohnFx

回答

1

Withou任何腳本(JavaScript或jQuery的),你不能做這個。

這裏是例如與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

我知道已經很晚了,但是如果你讓我成爲一個noob,你能告訴我我該如何擺放它們嗎?我是否將所有代碼放在一個文件中,或者將JS和HTML文件分開?如果他們要分開什麼名字? – Oxwivi

+0

不管你如何命名它,如果你將腳本和標記放在同一頁面上,不要忘記引用jQuery庫。如果它將是單獨的文件,你也需要參考這個文件。不要忘了將這個腳本包裝到'$(document).ready(function(){/ * code here * /})中;' – Samich

+0

因此,我把你寫在頁面頂部的答案中?現在你提到它了,我注意到在'ul'標籤處引用'nav'文檔。謝謝! – Oxwivi

0

你是指樹視圖嗎?如果是這樣,像jsTree可能適合您的目的。

如果您只需顯示或隱藏HTML塊(例如,包含在div元素中),那麼jQuery toggle可能就是您需要的。

0

您可以使用javascript完成此操作。如果你使用jQuery,這很容易,但你必須添加jQuery到你的頁面。有關基本jQuery的更多信息可以在這裏找到:

http://docs.jquery.com/How_jQuery_Works

如果導入的jQuery,你可以這樣來做:

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