如何设置slideToggle多次工作

时间:2013-05-14 11:56:50

标签: jquery html5 slidetoggle

我有一些嵌套的ul标签,我将它们隐藏起来,以便我可以对它们应用jQuery slideToggle效果(我想独立地滑动每个元素)。但是当我在第一个'ul'中按下每个'li'标签时,所有第二个'ul'都会一起显示出来。

这是我的html代码:

<div class="content">
    <ul class="mainList">
          <li class="mainItem">List item</li>
                     <ul class="subList">
                         <li class="subItem">List item</li> 
                         <li class="subItem">List item</li>
                         <li class="subItem">List item</li>
                         <li class="subItem">List item</li>
                         <li class="subItem">List item</li>
                     </ul>
          <li class="mainItem">>List item</li>
                     <ul class="subList">
                         <li class="subItem">List item</li> 
                         <li class="subItem">List item</li>
                         <li class="subItem">List item</li>
                         <li class="subItem">List item</li>
                         <li class="subItem">List item</li>
                     </ul>
          <li class="mainItem">>List item</li>
                     <ul class="subList">
                         <li class="subItem">List item</li> 
                         <li class="subItem">List item</li>
                         <li class="subItem">List item</li>
                         <li class="subItem">List item</li>
                         <li class="subItem">List item</li>
                     </ul> 
          <li class="mainItem">>List item</li>
                     <ul class="subList">
                         <li class="subItem">List item</li> 
                         <li class="subItem">List item</li>
                         <li class="subItem">List item</li>
                         <li class="subItem">List item</li>
                         <li class="subItem">List item</li>
                     </ul>
          <li class="mainItem">>List item</li>
                     <ul class="subList">
                         <li class="subItem">List item</li> 
                         <li class="subItem">List item</li>
                         <li class="subItem">List item</li>
                         <li class="subItem">List item</li>
                         <li class="subItem">List item</li>
                     </ul>
    </ul>

</div>

js文件看起来像这样:

$('.content').click(function(){
   $('.mainList').slideToggle();
});
$('.mainItem').click(function(){
   $('.subList').slideToggle();
});

2 个答案:

答案 0 :(得分:0)

我创造了一个小提琴:http://jsfiddle.net/Wrs4c/

更正了标记和脚本错误并创建了正确的jquery。

$('.mainItem').next().children().slideToggle();

$('.mainItem').click(function(){
    $(this).next().children().slideToggle();
});

答案 1 :(得分:0)

我不确定你要做什么但是 这是一个可以帮助你的小提琴:jsfiddle

一些注意事项:

在你的jquery中:你有一个错误功能 - &gt;功能

如果您只想影响一个元素,则应使用唯一ID或使用

$(this)...

表示仅使用触发事件的元素(在您的示例中为“点击”)
现在你可以使用 next() prev() children() parent(),< em> find()等 - 选择另一个相对元素。