我有这个
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’).