-1

我有一个功能,只要我点击一年就可以添加类灯

$('#options li a').click(function() {
    var $this = $(this),
        type = $this.attr('class');

    $links.children('li')
        .removeClass('light')
        .filter('.' + type)
        .addClass('light')
    return false;
});

我想做相反的事情:

.filter.not('.' + type)

但这似乎不起作用

有没有办法告诉 jquery 选择不属于 X 类的所有内容

4

2 回答 2

3

在您的情况下,您应该能够简单地使用 jQuery 的not()函数而不是filter().

$('#options li a').click(function() {
    var $this = $(this),
        type = $this.attr('class');

    $links.children('li')
        .removeClass('light')
        .not('.' + type) // <-- *Modified Line*
        .addClass('light')
    return false;
});

如果您需要更多信息,请查看 jQuery 文档的这一部分

于 2013-02-27T03:03:51.643 回答
0

使用filter()你可以这样做:

$links.children('li')
  .removeClass('light').filter(function(){
      return $(this).attr("class") !== type;
  }).addClass('light');
于 2013-02-27T03:09:47.370 回答