2010-10-05 56 views
0

我是Jquery noob。我正在嘗試創建一個手風琴菜單。我已經能夠獲得以下js與以下的HTML代碼工作。Noob jquery.hide和.click問題

function initMenu() { 
    $('#menu ul').hide(); 
    $('#menu li a').click(
    function() { 
     $(this).next().slideToggle('normal'); 
     } 
    ); 
    } 
$(document).ready(function() {initMenu();}); 

<li>       
<a href="#">Testing #1</a> 
    <ul> 
    <li><a href="http://www.php.net/">PHP</a></li> 
    <li><a href="http://www.ruby-lang.org/en/">Ruby</a></li> 
    </ul> 
</li> 
<li> 
    <a href="#">Test #2</a> 
    <ul> 
    <li><a href="http://www.php.net/">PHP</a></li> 
    <li><a href="http://www.ruby-lang.org/en/">Ruby</a></li> 
    </ul> 
</li> 

我想對每個li使用表。我不確定這是否是最好的方法。到目前爲止,我有這個:

<ul> 
<li> 
    <table border="1"> 
    <tr> 
    <td><a href="http://www.link1.com/">Link-1</a></td> 
    <td><a href="http://www.link2.com/">Link-2</a></td> 
    <td><a href="http://www.link3.com/">Link-3</a></td> 
    </tr> 
    </table> 
</li> 

我是否需要調整我的js在這種情況下工作?有了這些表格,它仍然可以工作,但我懷疑我會生成更多的標籤(數據),而不是完成這些所需的標籤。

任何幫助或輸入讚賞,謝謝!

回答

1

你有什麼工作,you can test it here。一個建議,雖然,您可以縮短這個:

$(document).ready(function() {initMenu();});​ 

下到:

$(initMenu);​ 

當傳遞函數$()它重視的是充當document.ready處理程序,並在頁面是它會執行很好去。 You can test that here,或匿名函數的版本like this

$(function() { 
    $('#menu ul').hide(); 
    $('#menu li a').click(function() { 
    $(this).next().slideToggle('normal');  
    }); 
});​ 
+0

@Ethan - 歡迎:)請務必通過在一個最好的解決問題的左邊選中標記接受回答您的問題:) – 2010-10-09 23:33:42