나는 이것이 처음에는 작동한다고 생각합니다.
if ($('#element') == $('#element')) alert('hello');
하지만 그렇지 않습니다. 요소가 동일한 지 어떻게 테스트합니까?
답변:
jquery 1.6부터 이제 간단하게 다음을 수행 할 수 있습니다.
$element1.is($element2)
아니면 그냥
if (openActivity[0] == this) alert('hello');
(새 jQuery 인스턴스없이 ;-)
누군가 이미 말했듯이 두 개의 다른 순간에 래핑 된 동일한 HTML 요소는 두 개의 다른 jQuery 인스턴스를 생성하므로 결코 같을 수 없습니다.
대신 래핑 된 HTML 요소는 동일한 HTML 요소 인 경우 차지하는 메모리 위치가 동일하기 때문에 이러한 방식으로 비교할 수 있습니다.
var LIs = $('#myUL LI');
var $match = $('#myUL').find('LI:first');
alert(LIs.eq(0) === $match); // false
alert(LIs.get(0) === $match.get(0)) // TRUE! yeah :)
친애하는!
9 년 후, jQuery없이
두 요소가 동일한 경우 두 요소는 동일한 포인터를 가져야합니다. 그러므로,
document.body === document.body // true
document.querySelector('div') === document.querySelector('div') // true
document.createElement('div') === document.createElement('div') // false