2012-01-26 51 views
0

我有两个ul,当顶部li被点击时,它显示下面的其他人并隐藏在其他ul中打开的另一个。jQuery显示列表项目

我的问题是我不得不在主li旁边添加一个View All链接,我想让用户查看所有页面,同时仍然允许他们单击主li来显示列表。

我已经在主li的旁边放了另一个标签,但现在我无法使显示功能工作。不知道什么可能是错的。

我不是很擅长穿越dom,我知道我有兄弟姐妹worng。

http://jsfiddle.net/ukkpower/En7KV/8/

回答

1

编辑:对不起,我错过了隐藏所有其他要求。感谢您的评论。请看现在的链接,这个问题应该得到解决。

请注意,我已将列表包装在名为_sidenav的div中。我更喜欢这种方法来寻找兄弟姐妹,因为它一眼就可以更容易地阅读和解读,并且在未来混淆的空间更小。

我想我明白你想要什么。看看这个小提琴:

http://jsfiddle.net/CU9zg/3/

我假设查看全部链接是假设带你到另一个页面,而列表中的主礼就像一个手风琴,隐藏或显示其他项目点击。

$('ul li.cat-item', $('#_sidenav')).hide(); 
$('.cat-item', $(this).closest('ul')).toggle(); 
+0

感谢mccow002的帮助,但它似乎已经失去了隐藏所有其他已打开列表的能力 –

+0

请查看我的修订。对不起,我在阅读你的问题时错过了这个要求。 – mccow002

1

试试这个 - http://jsfiddle.net/En7KV/10/

$('a.show_list').on('click', function(e){ 
    e.preventDefault(); 
    $(this).parent().siblings().toggle(); 
    $(this).closest('ul').siblings().find('li a.show_list').parent().siblings(':visible').hide(); 
}); 
+0

感谢佐尔坦的帮助,但它似乎已经失去了隐藏所有其他打开的功能列表 –

+0

更新 - http://jsfiddle.net/En7KV/10/ –