jquery – 查找子列表

我有这个
HTML结构:

<ul class="shopp_categories">
<li><a href="#">TEXT</a>
    <ul class="children">
        <li><a href="#">TEXT</a></li>
    </ul>
</li>
<li><a href="#">Text</a></li>
<li><a href="#">TEXT</a>
    <ul class="children">
        <li><a href="#">TEXT</a></li>
    </ul>
</li>    
</ul> 

这是我的js代码:

jQuery('#sidebar .shopp_categories ul.children').parent().prepend('<span class="sidebar_cats_more"></span>');
jQuery('.sidebar_cats_more').click(function(){
  var $children_list = jQuery(this).find('ul').children().children();
  alert($children_list.html());
  $children_list.slideToggle(1000, function () {
        if ( $children_list.is(':visible') ) {

        }
        if ( $children_list.is(':hidden') ) {

        }
        });
  });

我需要从List Item中找到子列表

span.sidebar_cats_more

先于.如果我找到了这个列表,它将使用slideToggle进行动画处理.
问题出在这一行:

var $children_list = jQuery(this).find('ul').children().children();

最佳答案 < ul>元素不是.sidebar_cats_more的子元素;它是元素之后的孩子. (你先前加入).

写$(this).parent().find(‘ul’)或$(this).next().find(‘ul’).

点赞