根据匹配的ID和类来定位/隐藏元素

对Jquery来说很新,想知道是否有人可以帮助我解决以下问题:

使用Textpattern我有一个生成的列表;

  • May
  • Post Number One
  • Post Number Two
  • Post Number One
  • April
  • 无限的。

    我的问题是,我如何使用标签显示和隐藏列表项与标签的ID? 例如,单击ID为“May2011”的a来切换隐藏并显示所有具有匹配类“May2011”的li ,以此类推各个月。

    在此先感谢您的帮助。

    提出一个比@ David的答案更有效的替代解决方案:

     $('li.archive-month > a').live('click', function() { $(this).parent().nextUntil('.archive-month').toggle(); return false; }); 

    如果所有

  • 共享一个共同的祖先 – 或许是

      ,你甚至可以使用.delegate()而不是.live().delegate()

       $('#some-common-ancestor').delegate('li.archive-month > a', 'click', function() { $(this).parent().nextUntil('.archive-month').toggle(); return false; }); 

      注意,这根本不使用元素ID。 相反,它依赖于HTML结构与OP中的内容一致 – 即单击链接时应该切换的

    • 是链接父级的下一个兄弟,直到但不包括下一个li与class archive-month

      你可以尝试:

       $('a').click( function(){ var elemClass = this.id; $('li.' + elemClass).toggle(); return false; // assuming you don't want to follow the link. }); 

      参考文献:

      • click()
      • toggle()