2010-08-03 5 views
5

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

$(document).ready(function() { 
    $("#orderedlist").find("li").each(function(i) { 
    $(this).append(" BAM! " + i); 
    }); 
}); 


$(document).ready(function() { 
    // use this to reset several forms at once 
    $("#reset").click(function() { 
    $("form").each(function() { 
     this.reset(); 
    }); 
    }); 
}); 

답변

10

"this"변수는 (제공된 이벤트 핸들러와 같은 경우) DOM 요소를 나타냅니다. 따라서 $ (this)는 하나의 DOM 요소 만 포함하는 jQuery 객체입니다.

기본 DOM API로 충분하면 일반 "this"를 사용해야하고 jQuery의 도움이 필요할 때는 $ (this)를 사용해야합니다. 두 번째 예는 좋은 예입니다. 또 다른 요소는 요소의 "id"또는 "name"이 필요할 때입니다. this 네이티브 DOM 개체

9

차이는 그 자체로는 this 이벤트에 작용하는 DOM 객체의 참조 점이다 : 여기서 두 가지 용도이다. $(this)이 dom 객체에서 jquery 객체를 생성하고 있습니다.

EDIT : DOM 개체를 사용하면 jquery에 추가 된 모든 기능에 액세스 할 수 없지만 DOM에는 허용되는 기능 만 사용할 수 있습니다. 기본적으로 this은 그 자체로 동일한 것으로 생각할 수 있습니다. document.getElementById(id)

+0

을 의미하면서 – Irfan

8

$(this)

는 JQuery와 개체입니다, 알아가는에 대한 지금까지 가장 아름다운 정의 "`자체 _by this` 이벤트가 upon_ 작용하고있는 DOM 객체에 대한 참조입니다" '이, 엄지 손가락 친구 :)!