如果已经有来自jQuery .each循环的特定类,如何排除当前单击的项目?

时间:2012-09-14 14:05:41

标签: jquery

我正在使用jQuery捕获所有具有“当前”类的链接。

这是我的代码:

$('#filter-by li ul a').live('click',function(e){

    var terms_ids = '';
    var taxonomies = '';
    $('#filter-by li ul a.current').each( function() {
        terms_ids = terms_ids + $(this).parent().attr('class').replace(/[^0-9]/g, '') + ',';
        taxonomies = taxonomies + $(this).closest('.tax-parent-li').find('ul li:first a').attr('rel').replace(/default_/, '') + ',';
    });

});

当点击链接时,我希望它计算/捕获所有具有当前类的元素,我为此使用了每个循环。但我想排除并且不确定如何操作,我不希望它考虑当前点击的链接,如果当前点击的链接已经有* .current class。 *

当前类有多个链接,如果先前已经有当前类,我想避免被点击的链接。

我很感激你的帮助。

1 个答案:

答案 0 :(得分:2)

如果没有更多标记和信息,我无法确切地知道需要什么,但您可能会发现.not()很有用。

  

给定一个表示一组DOM元素的jQuery对象,.not()方法从匹配元素的子集构造一个新的jQuery对象。提供的选择器针对每个元素进行测试;与选择器不匹配的元素将包含在结果中。

例如,

$('sel').not(this).each(...)
对于当前元素(即.each)以外的每个匹配选择器的元素,

将调用this回调。