查找孩子列表

时间:2011-05-03 13:39:25

标签: 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();

2 个答案:

答案 0 :(得分:2)

<ul>元素不是.sidebar_cats_more的子元素。它是元素之后的孩子。 (你先前加入)。

撰写$(this).parent().find('ul')$(this).next().find('ul')

答案 1 :(得分:0)

span.sidebar猫更没有孩子所以它不会找到ul元素。尝试

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