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