我有一个<li>
,其中有两个<ul>
。第二个<ul>
是隐藏的,应该在我点击第一个<ul>
时显示。
我试过这个:$(me).parent().parent().find("ul").slideToggle();
$(me)是此实例以及<li>
Wrapper-Element。
现在问题是显示隐藏的<ul>
,但隐藏了可见的<ul>
。
并且它不应该隐藏它。当我点击可见<ul>
时,我希望隐藏的<ul>
显示和隐藏。
另外需要提及的是,我在ajax调用的成功函数中使用此代码:
success:function(data){
$(me).parent().parent().find("ul").slideToggle();
}
也许有人可以帮助我。我只是需要调整.find()
,但我不知道该怎么做....
答案 0 :(得分:1)
您可以在jQuery中使用CSS子选择器。以下小提琴演示如果您在第一个UL内部单击,则第二个将滑动。
$('li ul:first-child li').click(function(){
$(this).parent().parent().find("ul:nth-child(2)").slideToggle();
});
https://jsfiddle.net/mqjvt2nu/2/
有很多方法可以做到这一点。您可以指定类或ID并以此方式定位。您可以在jQuery中使用.siblings()函数。您还可以使用.next()或.prev()函数。
答案 1 :(得分:0)
尝试使用.not方法:
$(me).parent().parent().find("ul").not(':visible').slideToggle();