2010-03-01 3 views
2

http://api.jquery.com/jQuery.unique/을 사용하면 고유 한 요소 만 가져올 수 있습니다. 요소가 이미 목록에 있는지 아닌지 확인할 수 있습니까?jQuery 고유 요소

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

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

elem이 이미 목록에 있는지 여부를 확인할 수있는 방법이 있습니까?

+0

그래서 두 개의 배열을 사용하는 함수가 필요하며 공통으로 포함하는 요소를 반환 하시겠습니까? –

답변

3

당신은 index()을 사용할 수 있습니다 : 그것은 돌아갑니다

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

-1 요소가 컬렉션에없는 경우. this.inArray을 (할 각 항목에, 두 번째 배열을 통해 루프()

사용 elem.each) (list.makeArray에 대한 확인) - -

0

jQuery를 도울 수있는 몇 가지 유틸리티가 있습니다 그래서 당신 ' 두 번째 배열의 각 항목을 다시 살펴보고 첫 번째 배열에 항목이 있는지 확인합니다. 어떤 지점에서 찾고있는 모든 작업을 수행 할 수 있습니다.

나는 한 줄의 코드로 만들 수있는 일종의 선택기 마법이있을 것이라고 거의 말하고 싶지만, 내 머리 꼭대기에서 알 수는 없다. 당신은 단지 다른 선택 일치하지 않는리스트의 요소에서 작동하려면

1

, 당신이 할 수 있습니다

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

당신이 일치하는 요소의 집합을 찾으려면 모두 당신이 할 수있는 :

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