jQuery에서 '$(this)'와 'this' 구별
jQuery 시작 튜토리얼을 진행하는 동안 다음과 같은 문제를 만났습니다. '$(this)'와 'this'를 직접 사용하는 것의 미묘한 차이입니다. 제공하신 코드 샘플에서:
$("#orderedlist").find("li").each(function (i) { $(this).append(" BAM! " + i); }); $("#reset").click(function () { $("form").each(function () { this.reset(); }); });
주요 차이점이 jQuery 관련 기능에 있다고 정확하게 추론하셨습니다.
jQuery Operations의 경우 '$(this)'
첫 번째 예에서 '$(this)'는 'each' 함수 내에서 'li' 요소를 반복하는 데 사용됩니다. '$(this)' 안에 'this'를 캡슐화하면 jQuery 객체로 변환됩니다. 이를 통해 'append'와 같은 jQuery 메서드를 사용하여 요소를 직접 조작할 수 있습니다.
jQuery가 아닌 함수의 경우 'this'
두 번째 예에서는 'this' '는 재설정 버튼의 클릭 핸들러 함수 내에서 사용됩니다. 여기서는 'form' 요소를 타겟팅하고 있습니다. 양식 재설정은 jQuery 개입이 필요하지 않은 표준 HTML 기능입니다. 따라서 'this'에서 직접 'reset'을 호출할 수 있습니다.
각 양식을 사용하는 경우
일반적으로 jQuery 관련 작업을 수행하려는 경우 언제든지 요소에 대한 연산에는 '$(this)'를 사용하세요. 이렇게 하면 요소가 jQuery 개체로 캡슐화되고 전체 기능에 액세스할 수 있게 됩니다. 양식 재설정과 같은 jQuery가 아닌 작업의 경우 'this'를 직접 사용할 수 있습니다.
관계 기억하기
문제를 단순화하려면 다음 동등성을 염두에 두세요.
$(this)[0] === this
이는 jQuery 객체를 다음과 같이 인덱싱하여 언제든지 원본 DOM 요소에 액세스할 수 있음을 의미합니다. '[0]'.
위 내용은 jQuery에서 `$(this)`와 `this`를 언제 사용해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!