我正在尝试根据不包含所选文本的选项过滤选项。 "不"和#34;含有"工作, - 只是不在一起。
$('#Offices option').filter('[data-faculty!="Europe"]').remove();
// [!] (not) this works - removes all but Europe
$('#Offices option').filter('[data-faculty*="Europe"]').remove();
// [*=] this works - removes all but those options with attributes containing Europe
我希望/假设一个简单的"!"添加会起作用,但它没有。
!*=
给出语法错误。 e.g。
$('#Offices option').filter('[data-faculty!*="Europe"]').remove();
我也试过"不是"但我也有语法错误。
有谁知道我怎么做到这一点 - "不包含"?
答案 0 :(得分:1)
例如删除除包含欧洲之外的所有内容:
$("#offices option:not([data-faculty*='Europe']").remove()
$("#offices option").not("[data-faculty*='Europe']").remove()
答案 1 :(得分:1)
您可以使用.filter(fn)
功能
$('#Offices option[data-faculty]').filter(function(){
return $(this).attr('data-faculty') !== 'Europe';
}).remove();
不包含
$('#Offices option[data-faculty]').filter(function(){
return $(this).attr('data-faculty').indexOf('Europe') == -1;
}).remove();