Programming

jQuery 객체를 어떻게 비교 하시겠습니까?

procodes 2020. 8. 18. 19:20
반응형

jQuery 객체를 어떻게 비교 하시겠습니까?


그래서 부모 요소가 페이지의 본문인지 확인하기 위해 두 개의 jQuery 객체를 비교하는 방법을 알아 내려고합니다.

내가 가진 것은 다음과 같습니다.

if ( $(this).parent() === $('body') ) ...

나는 이것이 틀렸다는 것을 알고 있지만 누군가 내가 얻는 것을 이해한다면 올바른 방법으로 나를 가리킬 수 있습니까?


원시 DOM 요소를 비교해야합니다. 예 :

if ($(this).parent().get(0) === $('body').get(0))

또는

if ($(this).parent()[0] === $('body')[0])

왜 안 되는가 :

if ($(this).parent().is("body")) {
  ...
}

?


루핑이 필요하지 않으며 단일 첫 번째 노드를 테스트 할 필요가 없습니다. 길이가 같고 노드를 공유하는 것 외에는 거의 필요하지 않습니다. 다음은 작은 코드 스 니펫입니다. 자신의 용도로 이것을 jquery 플러그인으로 변환하고 싶을 수도 있습니다.

jQuery(function($) {
  // Two separate jQuery references
  var divs = $("div");
  var divs2 = $("div");

  // They are equal
  if (divs.length == divs2.length && divs.length == divs.filter(divs2).length) {         

  // They are not
  } else {}
});

나는이 대답을 우연히 발견했고 어느 것이 더 나은지 궁금했다. 그것은 모두 당신의 필요에 달려 있지만 가장 쉬운 입력, 읽기 및 실행이 가장 좋습니다. 결정을 내리기 위해 만든 성능 테스트 케이스입니다.

http://jsperf.com/jquery-objects-comparison

참고 URL : https://stackoverflow.com/questions/2436966/how-would-you-compare-jquery-objects

반응형