2

我有一个带有数组的页面:

var idlist = ['ID1', 'ID2', 'ID3'];

这个数组<div>在我的 HTML 中使用这些 ID 引用 s。这些<div>s 中的每一个也有一个类.tabPage

我正在尝试编写一个针对所有div.tabPage元素的选择器,除了在我的数组中具有 ID 的元素。我.not()在 jQuery 文档中找到了该函数,但是如何为多个值执行此操作?

4

3 回答 3

6

我建议:

$('div.tabPage').not('#' + idlist.join(', #'));

JS 小提琴演示

如果您更喜欢更详细的方法,则可以改用过滤器(它将删除或保留选择中的元素):

$('div.tabPage').filter(function(){
    return idlist.indexOf(this.id) === -1;
}).addClass('jQueryFound');

JS 小提琴演示

参考:

于 2013-08-23T18:23:36.477 回答
0

Try this

 $('div:not(#' + ids.join(',#')+')').end().click(function() { alert('hi'); });

http://jsfiddle.net/Jfmrn/

于 2013-08-23T18:49:34.163 回答
0

我认为如果不在选择器中完成,但在执行代码的主体上可能会更清楚:

var ignoreList = ['foo', 'bar'];
$('.tabPage').each(function(){
    if(ignoreList.indexOf(this.id) > -1) return;

    // code
});
于 2013-08-23T18:32:27.243 回答