jQuery显示列表项

时间:2012-01-26 01:02:38

标签: javascript jquery

我有两个ul,当点击顶部li时,它会显示下面的其他部分,并隐藏另一个在其他ul中打开的。

我的问题是我必须在主li旁边添加一个View All链接,我想将用户引导到一个查看所有页面,同时仍允许他们点击main li来显示列表。

我在主要的li旁边放了另一个标签,但是现在我不能让show功能太工作了。不确定可能出现的问题。

我在穿越dom时并不擅长,我知道我有兄弟姐妹。

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

2 个答案:

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

答案 1 :(得分:1)

编辑:抱歉,我错过了隐藏所有其他人的要求。感谢您的评论。请立即查看该链接,该问题应该得到解决。

请注意,我已将列表包装在名为_sidenav的div中。我更喜欢这种方法来寻找兄弟姐妹,因为它更容易一目了然地阅读和解释,并且在将来更容易产生混淆。

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

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

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

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