반응형
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
반응형
'Programming' 카테고리의 다른 글
Capistrano에서 레이크 작업을 실행하려면 어떻게해야합니까? (0) | 2020.08.18 |
---|---|
정규화란 무엇입니까? (0) | 2020.08.18 |
Flutter 프로젝트의 lint-gradle-api-26.1.2.jar을 찾을 수 없습니다. (0) | 2020.08.18 |
자유 함수가 예상되는 멤버 함수를 어떻게 전달할 수 있습니까? (0) | 2020.08.18 |
시퀀스에 일치하는 요소가 없습니다. (0) | 2020.08.18 |