>웹 프론트엔드 >JS 튜토리얼 >jQuery에서 this와 $(this)의 차이점은 무엇입니까?

jQuery에서 this와 $(this)의 차이점은 무엇입니까?

青灯夜游
青灯夜游원래의
2020-11-26 16:15:233458검색

차이점: 이는 현재 컨텍스트 객체가 html DOM 객체이고 html 객체가 소유한 속성과 메서드를 호출할 수 있으며 "$(this)"로 표시되는 컨텍스트 객체는 jquery 컨텍스트 객체라는 것을 의미합니다. jquery 메소드를 호출할 수 있습니다.

jQuery에서 this와 $(this)의 차이점은 무엇입니까?

관련 권장 사항: "jQuery Video Tutorial"

jquery에서 this와 $(this) 사용법의 차이점 먼저 다음 코드를 살펴보세요.

$("#textbox").hover(
    function() {
        this.title = "Test";  },
    fucntion() {
        this.title = "OK”;  }
);

여기는 실제로 Html 요소입니다. (텍스트 상자), 텍스트 상자에는 텍스트 속성이 있으므로 이렇게 작성해도 문제가 없습니다. 그러나 이것을 $(this)로 바꾸면 그렇지 않으며 오류가 보고됩니다. 다음 쓰기가 잘못되었습니다:

$("#textbox").hover(
    function() {
        $(this).title = "Test";  },
    function() {
        $(this).title = "OK";  }
);

$(this) 여기 JQuery 개체가 있는데, jQuery 개체에는 제목 속성이 없으므로 이 쓰기가 잘못되었습니다. JQuery에는 DOM 개체의 속성을 가져오거나 설정하는 attr() 메서드가 있으므로 이를 작성하는 올바른 방법은 다음과 같아야 합니다.

$("#textbox").hover(
    function() {
        $(this).attr('title', 'Test');
    },
    function() {
        $(this).attr('title', 'OK');
    }
);

JQuery 사용의 장점은 DOM 개체에 대한 다양한 브라우저 버전의 작업을 패키지화한다는 것입니다. 따라서 이것을 사용하는 대신 $( 균일하게 this)를 사용하는 것이 더 나은 선택이 될 것입니다.

$()는 무엇을 생성하나요? 실제로 $()=jquery()jquery 객체가 반환된다는 의미입니다. $()生成的是什么呢?实际上$()=jquery(),那么也就是说返回的是一个jquery的对象。

$(this)jquery对象,能调用jquery的方法,例如click()keyup()

$(function () {
    $('button').click(function () {
       alert(this);//this 表示原生的DOM
       //$(this)表示当前对象,这里指的是button
   }) 
});

结论:
this,表示当前的上下文对象是一个html DOM对象,可以调用html对象所拥有的属性,方法。
$(this),代表的上下文对象是一个jquery的上下文对象,可以调用jquery

$(this)jquery 메서드를 호출할 수 있는 jquery 객체입니다(예: ) (), keyup()을 클릭하세요.

rrreee결론:
this, 현재 컨텍스트 개체가 html을 호출할 수 있는 html DOM 개체임을 나타냅니다. code> 객체가 소유한 속성 및 메서드입니다.
$(this), 표시된 컨텍스트 개체는 jqueryjquery의 컨텍스트 개체입니다. /코드>.

더 많은 프로그래밍 관련 지식을 보려면 🎜프로그래밍 배우기🎜를 방문하세요! ! 🎜

위 내용은 jQuery에서 this와 $(this)의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.