2010-03-01 103 views
2

http://api.jquery.com/jQuery.unique/可讓您獲得唯一的元素。有沒有我可以找出一個元素是否已經在列表中。jQuery獨特元素

list = $('#container p a'); 

elem = $('#container div a:first'); 

有沒有辦法找出elem是否已經在列表中。

+0

所以你想要一個接受兩個數組的函數,並返回它們包含的共同元素? – 2010-03-01 22:38:23

回答

3

您可以使用:

if (list.index(elem[0]) == -1) { 
    ... 
} 

它將返回-1,如果元素不是收藏。

0

jQuery有一些實用工具,可以幫助 -

使用elem.each()遍歷第二陣列,每個條目上做一個this.inArray()覈對list.makeArray() - 所以你」重新查看第二個數組中的每個項目,並查看它是否存在於第一個數組中,此時您可以執行您正在查找的任何操作。

我幾乎想說,可能會有某種選擇器魔法可以構建成一行代碼,但我不知道它在我頭頂。

1

如果你想只在沒有其他選擇匹配列表元素進行操作,你可以這樣做:

var difference = $(list).not('#container div a:first'); 

如果你想找到一組元素的匹配都可以做:

var intersect = $(list).filter('#container div a:first');