jQuery独特的元素

时间:2010-03-01 22:30:34

标签: jquery

http://api.jquery.com/jQuery.unique/让您只获得独特的元素。在那里我可以找出一个元素是否已经在列表中。

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

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

有没有办法确定elem是否已经在列表中。

3 个答案:

答案 0 :(得分:3)

您可以使用index()

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

如果元素不在集合中,它将返回-1。

答案 1 :(得分:1)

如果您只想对列表中与其他选择器不匹配的元素进行操作,您可以这样做:

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

如果您想找到与两者兼容的元素集,您可以这样做:

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

答案 2 :(得分:0)

jQuery有一些可能有用的工具 -

使用elem.each()遍历第二个数组,在每个条目上执行this.inArray()检查list.makeArray() - 所以你看看第二个数组中的每个项目,看看是否它存在于第一个中,此时您可以执行您正在寻找的任何操作。

我几乎想说可能会有一些选择器魔法你可以构建成一行代码,但我不知道它在我的头顶。