jQuery find()-排除$(此)元素
基本上,我试图进行查找,然后运行一个效果,但我想排除owner元素。这就是我目前的情况:jQuery find()-排除$(此)元素,jquery,Jquery,基本上,我试图进行查找,然后运行一个效果,但我想排除owner元素。这就是我目前的情况: $('li.main').click(function(){ $(this).parents('.content').find('li.main').not(this).removeClass('active'); $(this).parents('.content').find('li.subs').not(this).slideUp(); $(this).parent().to
$('li.main').click(function(){
$(this).parents('.content').find('li.main').not(this).removeClass('active');
$(this).parents('.content').find('li.subs').not(this).slideUp();
$(this).parent().toggleClass('active');
$(this).parent().next('li.subs').slideToggle();
});
不太管用。有人知道怎么做吗?试试这个:
$('li.main').click(function(){
var item = $(this), allItems = item.parents('.content').find('li.main');
if(!item.hasClass('active')){
allItems = allItems.not(item);
item.parent().addClass('active');
item.parent().next('li.subs').slideDown();
}
allItems.removeClass('active');
allItems.slideUp();
});
哪一部分不起作用-查找还是操纵?也就是说,您能否验证“查找”是否正在选择您想要的元素?请定义“不太有效”。你能用小提琴复制它并与我们分享吗?JSFIDLE或与之配套的HTML怎么样?基本上,当我点击一个项目时,它会执行效果(即将类设置为“活动”,并执行幻灯片动画)。现在,当我再次单击同一项时,它会做完全相同的事情-它应该做的是删除类“active”并向上滑动。@GSTAR您应该使用注释中的解释更新您的问题,同样,问题中的元素的基本HTML结构可能会有帮助。实际上不是:不接受DOM元素,也可以考虑更新你的答案,以免降低我的坏。用可能的解决方案更新答案。