나는 이와 같은 뭔가를하려고하면 : 2 개의 jQuery 선택기가 같은 요소를 가리키고 있는지 어떻게 확인합니까?
$(".foo") === $(".foo") // = false
... 난 거짓 얻을. 대신이 검색어를 사용하면
$(".foo").get(0) === $(".foo").get(0) // = true
... 사실이됩니다. 바람직하게는 jQuery를 내장이 평등을 테스트 할 수있는 간결한 방법이 있는지 궁금 해요
{a:myObject} !== {a:myObject};
[myObject] !== [myObject];
myObject === myObject;
: 때문입니다
. 내가 작성한 두 번째 방법은 .foo
과 일치하는 요소가 하나만 있으면 올바르게 작동합니다. 솔루션은 모든 요소에 대해 작동해야합니다.
분명히 내가 사용하고있는 실제 선택 사항이 더 복잡하기 때문에 ".foo" === ".foo"
을 확인하고 싶지는 않습니다. 나는이 예제를 위해 단순화했다. (예 : 나는 $(this)
가 $(".foo")
같은 일을 선택하는 것을 확인 할 수 있습니다.)
가 여기에 그의 대답 반영하는 데모입니다
: http://jsfiddle.net/kAv4X/ – MacMac@lolwut : 때문에 작동하지 않습니다 '입니다 ()'는 요소 중 적어도 하나 *가 다른 선택자와 일치 하는지를 검사합니다 (즉, 부분 집합). http://jsfiddle.net/dYAH3/에서 살펴보십시오 (첫 번째 경고에서 false로 표시되어야하지만 사실입니다). – Senseful
이 [답변] (http://stackoverflow.com/a/3856290/989121)이 가장 정확합니다. – georg