2010-10-05 59 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