使用filter()从列表中删除不包含字符串部分的项目 - jQuery / JS

时间:2017-10-05 22:18:24

标签: javascript jquery html list filtering

我有$list个html链接,我试图过滤。每个链接都有一个data-foo属性。如果true,我需要删除data-foo等于字符串的任何链接" bar"在它的某个地方。否则,删除每个链接,不用" bar"在它。

if (true) {
    $list.filter('[data-foo*="bar"]').remove();
} else {
    $list.filter('[data-foo*="!bar"]').remove();
}

我用" bar"删除每个链接的第一部分data-foo属性中的某个位置完美无缺。但是,我不知道如何删除所拥有的每个链接" bar"属性中的某个地方。

我已经尝试在不同的地方放置!,但它只会导致错误。有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

使用filter(function)

$list.filter('[data-foo]').filter(function() {
  var hasBar = $(this).data('foo').indexOf('bar') > -1;
  return bar_only_condition_boolean ? hasBar : !hasBar;
}).remove();