jQuery find() - 排除$(this)元素



基本上我正在尝试进行查找然后运行效果,但我想排除所有者元素。这就是我目前拥有的:

$('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();
});

最新更新