jQuery slideToggle有多个嵌套元素

时间:2014-07-23 14:24:18

标签: jquery html css

我希望以下.children.slideToggle(),但我似乎无法获得.children元素,因为.find()将无效,{{1} }}

简而言之,它会滑动所有.closest();元素。

.children()

2 个答案:

答案 0 :(得分:0)

您在菜单前面放置一个空的跨度,因此没有可点击的区域。尝试在开始范围标记之前添加,并在菜单项周围附加结束范围标记。

$(function () {
    var menu = $('li.page_item_has_children');
    menu.prepend('<span class="toggle">');
    menu.append('</span>');
    $( 'span.toggle' ).click(function() {
        $('.children').slideToggle();
    });     
}); 

答案 1 :(得分:0)

为什么不忘记所有的跨度并将点击处理程序附加到菜单变量?

$(function () {
  var menu = $('li.page_item_has_children');
  $(menu).click(function() {
      $('.children').slideToggle();
  });     
});

如果您坚持使用span标记,请在其中添加一些内容,以便点击它。

var menu = $('li.page_item_has_children');
menu.prepend('<span class="toggle">Click me :D</span>');
$( 'span.toggle' ).click(function() {
    $('.children').slideToggle();
});

当你点击&#34;点击我&#34;这也应该切换菜单。