我有一个简单的accorion菜单
$('.br_filticon li').click(function() {
var obj = $(this);
var itemIndex = obj.index();
obj
.addClass('current').siblings("li").removeClass('current')
.parents('ul.br_filticon').find('div.br_filtdescr').slideUp(100)
.eq(itemIndex).slideDown(100);
return false;
});
如果所有部分都有子部分,但是如果至少有一个部分没有子部分,则菜单工作正常 - 问题。
请帮忙解决。
提前谢谢。
答案 0 :(得分:1)
问题是因为您要按索引关联li
元素和.br_filtdescr
元素。任何li
都没有索引随后偏移的子元素。
要解决此问题,请使用DOM遍历仅查找所点击的.br_filtdescr
中的li
元素并隐藏所有其他元素,如下所示:
$('.br_filticon li').click(function(e) {
e.preventDefault();
$('div.br_filtdescr').slideUp(100)
$(this).addClass('current').siblings("li").removeClass('current').end()
.find('div.br_filtdescr').slideDown(100);
});