>  기사  >  웹 프론트엔드  >  jquery_jquery에서 이를 사용하기 위한 지침

jquery_jquery에서 이를 사용하기 위한 지침

WBOY
WBOY원래의
2016-05-16 18:20:121091검색

이것이 js에서 사용하기 매우 쉽다는 것이 밝혀졌습니다

코드 복사 코드는 다음과 같습니다.

$ (document).ready(function(){
var DragElement=null;
$("#zz").mousedown(function(){
DragElement=this;/ /이것은 $("#zz") 객체를 참조합니다
$(document).mousemove(function(){
직접적으로 $(this).css("left")//mousemove 내부에 있으므로, 이 객체는 $("#zz")가 아닙니다.
이 경우 $(DragElement).css("left")를 사용할 수 있습니다.//얻는 것은 $("#zz")입니다
} )
})
})


$(this)는 무엇을 생성합니까?

$()는 무엇을 생성합니까? 실제로 $()=jquery()는 jquery 객체가 반환된다는 의미입니다.
여담: 일반적으로 단순화를 위해 $()를 직접 사용합니다. 실제로 이 함수는 매개변수 컨텍스트, 즉 $(selector)=$(selector,document)를 생략합니다. dom 요소 집합 또는 jquery 개체입니다.

$()가 jquery 객체를 반환한다는 결론에 따라 $(this)가 jquery 객체를 반환한다는 결론을 내릴 수 있습니다. 범용 Alert() 메서드를 사용하여 객체를 인쇄할 수 있습니다.
Alert($('#btn'));
표시된 결과:
jquery_jquery에서 이를 사용하기 위한 지침
그림의 빨간색 상자는 객체라고 생각하지 마세요. 즉, $('#btn')을 사용하여 jquery의 메서드와 속성을 호출합니다.

이것은 무엇을 의미하나요?

이것은 컨텍스트가 위치한 객체를 나타낸다는 것을 프로그래머는 알고 있습니다. 이것은 당연히 좋지만 이 객체는 정확히 무엇입니까? js에 getType도 있는 경우 반환되는 값은 무엇입니까? 실제로 js에서는 getType을 사용할 필요가 없습니다. 다음 코드를 살펴보세요.
코드 복사 코드는 다음과 같습니다.

$('#btn').bind("click",function(){

alert(this);
Alert($(this));
});

우리의 경험에 따르면($()는 jquery 객체를 생성하기 때문에) 이는 당연히 jquery 객체입니다. 하지만 반환된 결과를 살펴보겠습니다.
jquery_jquery에서 이를 사용하기 위한 지침

무엇이 반환되나요? [객체 HTMLInputElement]——훌륭한 HTML 객체입니다. 헤헤. 따라서 this.val()을 직접 사용하거나 다음을 통해 jquery 관련 메서드나 속성을 직접 호출하면 일반적으로 오류가 발생합니다. 왜일까요? 알면서 질문하는 것! 물론 html 개체에는 "속성이나 메서드가 포함되어 있지 않습니다". 그렇다면 jquery 객체의 컨텍스트에서 이것을 호출하면 jquery 객체 대신 html 객체가 반환되는 이유는 무엇입니까? jquery의 API 문서를 살펴보면 this 키워드가 jquery에서 특별히 "처리"되지 않은 것으로 보입니다. 이는 jquery에 의해 재정의되지 않고 js에 있음을 의미합니다. 그럼... 물론 이건 저만의 생각일 뿐입니다. 혹시 이에 대해 아시는 분이 계시다면 메시지를 남겨 수정해 주시면 됩니다. 위 코드에서 return($(this)); 을 살펴보겠습니다. 이는 당연히 jquery의 객체이므로 jquery의 고유한 메서드와 속성을 호출하는 데에는 전혀 문제가 없습니다.

결론:

이것은 현재 컨텍스트 개체가 html 개체임을 나타내며 html 개체가 소유한 속성, 메서드를 호출할 수 있습니다.
$(this), 표현된 컨텍스트 개체는 jquery의 메서드 및 속성 값을 호출할 수 있는 jquery 컨텍스트 개체입니다.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.