我有两个ul,当点击顶部li时,它会显示下面的其他部分,并隐藏另一个在其他ul中打开的。
我的问题是我必须在主li旁边添加一个View All链接,我想将用户引导到一个查看所有页面,同时仍允许他们点击main li来显示列表。
我在主要的li旁边放了另一个标签,但是现在我不能让show功能太工作了。不确定可能出现的问题。
我在穿越dom时并不擅长,我知道我有兄弟姐妹。
答案 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中。我更喜欢这种方法来寻找兄弟姐妹,因为它更容易一目了然地阅读和解释,并且在将来更容易产生混淆。
我想我明白你想要什么。看看这个小提琴:
我假设查看全部链接是为了带你到另一个页面,而列表的主要li就像一个手风琴,在点击时隐藏或显示其他项目。
$('ul li.cat-item', $('#_sidenav')).hide();
$('.cat-item', $(this).closest('ul')).toggle();