context 매개변수

jQuery 2015. 4. 16. 02:23

728x90
반응형

아까까지 제이쿼리를 공부하다가 처음 보는 형태를 접하여 많은시간 당황하였었다;


Context 매개변수 인데

1
var $a = $('a', this);
cs

이렇게 쓰더라...

어? 저기엔 선택자가 들어가야 하는거 아닌가?

a 요소 를 선택한거 아닌가? 근데 왜 this 가 들어가지??


도데체 이게 뭔지 몰라 한참을 고민했었다... this 는 선택한 바로 그 요소 일텐데..?

근데 저렇게 하면 모든 a 요소를 전부 찾아내는거 아냐? 근데 this 는 뭐냐...도데체...


검색을 해도 이해가 솔직히 안됐는데... 본 블로그 운영자는 머리 수준이 평균 미만이다 ㅠㅠ


그래서 위에 뭘 썻는지 다시 차근차근 뜯어보았다.

1
2
3
4
5
$("a").css("color","red");
$("li").click(function(){
    var $a = $('a', this);
    $a.css("color","blue");
})
cs


난 당연히 모든 a 의 색이 푸른색으로 바뀔줄 알았는데 그게 아니더라


이걸 한번 보도록 하자

저 노란색 박스를 클릭해 보자.


클릭했던 바로 그 li 안의 a 만 색이 푸른색으로 바뀌더라고


즉...

1
2
3
4
5
6
var $a = $('a', this);
    // 이것과
var $a = $(this).find("a");
    // 이것과
var $a = $(this).children("a");
    // 이것은 동일하게 쓸 수 있다.
cs

코드를 보다 간결하게 쓸 수 있을꺼 같다.

1. $()는 매개변수를 두개도 입력 할 수 있다.
2. 지금까지 입력했던 선택자 외에도 context 라는 매개변수를 넣을 수 있다.
3. context는 선택자가 적용시킬 범위를 줄여준다.
4. 주로 이벤트를 사용할 때 사용, 만약 특정 문서 객체 내의 자식 문서 객체와 같은 조금 복잡한 방식의 객체를 선택할 때 사용한다.


출처 : http://blog.kurien.co.kr/500

반응형

'jQuery' 카테고리의 다른 글

add 메서드  (0) 2015.04.28
[jQueryMobile]swipeleft, swiperight 메서드  (0) 2015.04.17
mouseenter 과 mouseover 메서드의 차이  (0) 2015.04.15
index 메서드  (0) 2015.04.15
size 메서드 그리고 length..  (0) 2015.04.15