除了屬性的所有元素jQuery選擇我有一個網頁的數組:在一個陣列
var idlist = ['ID1', 'ID2', 'ID3'];
此數組在我的HTML與這些ID引用<div>
秒。這些<div>
中的每一個也具有類別.tabPage
。
我想寫一個選擇器,目標是所有div.tabPage
元素,除了在我的數組中有一個ID。我在jQuery文檔中找到了.not()
函數,但是我怎麼能爲多個值做到這一點?
除了屬性的所有元素jQuery選擇我有一個網頁的數組:在一個陣列
var idlist = ['ID1', 'ID2', 'ID3'];
此數組在我的HTML與這些ID引用<div>
秒。這些<div>
中的每一個也具有類別.tabPage
。
我想寫一個選擇器,目標是所有div.tabPage
元素,除了在我的數組中有一個ID。我在jQuery文檔中找到了.not()
函數,但是我怎麼能爲多個值做到這一點?
我建議:
$('div.tabPage').not('#' + idlist.join(', #'));
如果你喜歡一個更詳細的方法,你也可以使用過濾器(這將要麼刪除,或保留,從選擇的元素):
$('div.tabPage').filter(function(){
return idlist.indexOf(this.id) === -1;
}).addClass('jQueryFound');
參考文獻:
我想可能更清楚,如果不選擇完成,但在執行代碼的身體:
var ignoreList = ['foo', 'bar'];
$('.tabPage').each(function(){
if(ignoreList.indexOf(this.id) > -1) return;
// code
});
試試這個
$('div:not(#' + ids.join(',#')+')').end().click(function() { alert('hi'); });
我不知道爲什麼['end()'](http://api.jquery.com/end/)在那裏(因爲你只使用了一個選擇器(並沒有後續的過濾,據我所知) ),但更重要的是,您的演示似乎不起作用:*每個*'div'元素在單擊時生成一個'alert()'。這似乎違背了這個問題的要求。 –
使用多選擇器選擇器,它今天似乎很常見。 '「#id,#id2,#id3」' –
http://api.jquery.com/multiple-selector/ –
所以,像:$('div.tabPage:not(「#ID1」),div.tabPage :不是(「#ID2」)等)? – Paul