我有一个包含数组的页面:
var idlist = ['ID1', 'ID2', 'ID3'];
此数组引用我的HTML中的<div>
和这些ID。这些<div>
中的每一个都有一个类.tabPage
。
我正在尝试编写一个以所有div.tabPage
元素为目标的选择器,除了我的数组中有ID的元素。我在jQuery文档中找到了.not()
函数,但是如何为多个值执行此操作?
答案 0 :(得分:5)
我建议:
$('div.tabPage').not('#' + idlist.join(', #'));
如果您更喜欢更详细的方法,则可以使用过滤器(将删除或保留选择中的元素):
$('div.tabPage').filter(function(){
return idlist.indexOf(this.id) === -1;
}).addClass('jQueryFound');
参考文献:
答案 1 :(得分:0)
我认为如果没有在选择器中完成,可能会更清楚,但是在执行代码的主体上:
var ignoreList = ['foo', 'bar'];
$('.tabPage').each(function(){
if(ignoreList.indexOf(this.id) > -1) return;
// code
});
答案 2 :(得分:0)
试试这个
$('div:not(#' + ids.join(',#')+')').end().click(function() { alert('hi'); });