Noob jquery .hide和.click问题

时间:2010-10-05 09:52:28

标签: jquery

我是Jquery noob。我正在尝试创建一个手风琴菜单。我已经能够使用以下HTML代码获得以下js。

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>

我想为每个李使用表格。我不确定这是不是最好的方法。到目前为止,我有这个:

<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 个答案:

答案 0 :(得分: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');    
  });
});​