jQuery
개발자 | jQuery 개발팀 |
---|---|
안정화 버전 | 1.11.3 2.1.4 / 2015년 4월 28일 |
저장소 | |
종류 | 웹 애플리케이션 프레임워크 |
라이선스 | 듀얼 라이선스: GPL 또는 MIT |
웹사이트 | http://jquery.com/ |
jQuery(제이쿼리)는 브라우저 호환성이 있는 HTML 속 자바스크립트 라이브러리이며 클라이언트 사이드 스크립트 언어를 단순화 할 수 있도록 설계되었다. 존 레식이 2006년 뉴욕 시 바캠프(Barcamp NYC)에서 공식적으로 소개하였다. jQuery는 오늘날 가장 인기있는 자바스크립트 라이브러리 중 하나이다.
jQuery는 MIT 라이선스와 GNU 일반 공중 사용 허가서v2의 듀얼 라이선스를 가진 자유 오픈 소프트웨어이다. jQuery의 문법은 코드 보기, 문서 객체 모델 찾기, 애니메이션 만들기, 이벤트 제어, Ajax 개발을 쉽게 할 수 있도록 디자인되었다. 또한, jQuery는 개발자가 플러그인을 개발할 수 있는 기능을 제공한다.
마이크로소프트와 노키아는 자사 플랫폼에 jQuery를 포함하는 계획을 발표한 바 있다. 마이크로소프트는 비주얼스튜디오의 ASP.NET AJAX 프레임워크와 ASP.NET MVC 프레임워크에 적용했고, 노키아는 자사의 런타임 웹 위젯 개발 플랫폼에 통합하였다. 또한, jQuery는 미디어위키에도 1.16 버전부터 사용되고 있다.
기능
jQuery는 다음과 같은 기능을 갖고 있다:
- DOM 요소 선택 기능. 이는 멀티브라우저 오픈 소스 셀렉터 엔진인 시즐(Sizzle)을 이용한 것으로, 시즐은 jQuery 프로젝트의 파생 프로젝트이다.[1]
- DOM 탐색 및 수정 (CSS 1-3 지원)
- CSS 셀렉터에 기반한 DOM 조작. 노드 요소 및 노드 속성(아이디 및 클래스)을 셀렉터 생성을 위한 기준으로 사용.
- 이벤트
- 특수효과 및 애니메이션
- AJAX
- JSON 파싱
- 플러그인을 통한 확장성
- 유틸리티
- 호환성 메소드 (
inArray()
,each()
함수 등) - 멀티브라우저 지원 (크로스브라우저와는 다름)
브라우저 지원
jQuery 1.x와 2.x는 모두 최신 안정화 버전 및 그 이후 버전의 파이어폭스, 구글 크롬, 사파리, 그리고 오페라를 지원한다. 1.x 버전은 인터넷 익스플로러 6 및 그 이후 버전을 지원한다. 그러나 2.x 버전에서는 인터넷 익스플로러 6-8 버전이 지원되지 않으며 인터넷 익스플로러 9 또는 그 이후 버전을 지원한다.[2]
사용법
jQuery는 한 개의 JavaScript 파일로 존재한다. 공통의 DOM, 이벤트, 특수 효과, Ajax 함수를 포함한다. 다음 코드를 쓰면, 웹 페이지로 포함시킬 수 있다:
<script type="text/javascript" src="path/to/jQuery.js"></script>
jQuery는 두 가지의 상호 작용 스타일을 갖고 있다:
$
함수 이용. jQuery 오브젝트의 팩토리 메소드이다. 이 함수들은 "chainable"하다: 각각은 jQuery 오브젝트를 반환한다.$.
-가 앞에 붙은 함수 이용. 이들 함수는 jQuery 오브젝트 그 자체와 연동되지는 않는다.
일반적으로 여러 개의 DOM 노드들을 조작하는 웍플로우는 $
함수로 시작된다. CSS 셀렉터 스트링을 가지고 호출된다. 결과적으로 0개 혹은 그 이상의 HTML 페이지 내의 엘리먼트를 리퍼런스하는 jQuery 오브젝트가 반환된다. 이 노드 집합들은 jQuery 오브젝트에 대해 인스턴스 메소드들을 적용함으로써 조작될 수 있다. 혹은 노드들 그 자체가 조작될 수 있다. 예를 들면 다음과 같다:
$("div.test").add("p.quote").addClass("blue").slideDown("slow");
…div
태그가 달린 모든 엘리먼트를 찾되, 클래스 애트리뷰트가 test
인 것을 찾는다. p
태그를 찾되, 클래스 애트리뷰트가 quote
인 것을 찾는다. 찾아낸 각각의 엘리먼트에 대해 클래스 애트리뷰트 blue
를 추가한다. 그 뒤 애니메이션 효과를 주어 아래쪽으로 슬라이드(미끄러지게) 시킨다. $
및 add
함수는, 찾아낸(matched) 집합(set)에 영향을 준다. addClass
및 slideDown
는 리퍼런스된 노드들에 영향을 준다.
$.
가 앞에 붙은 함수들은, 글로벌 프로퍼티나 비해이비어에 영향을 주는, 간편한(유틸리티) 메소드들이다. 예를 들면 다음과 같다:
$.each([1,2,3], function() {
document.write(this + 1);
});
… 234
를 도큐먼트에 출력한다.
Ajax 루틴들은 $.ajax
및 관련 코드를 이용하여 수행할 수 있다. 이를 사용하여, 원격 데이터(remote data)를 로드하거나 조작할 수 있다.
$.ajax({
type: "POST",
url: "some.php",
data: "name=John&location=Boston",
success: function(msg){
alert( "Data Saved: " + msg );
}
});
… 파라미터 name=John&location=Boston
을 주면서 some.php에 요청을 보낸다.요청이 성공적으로 수행되었으면, 그 응답이 alert()
된다.
배포 내역
이 문단의 일부는 오래된 정보를 가지고 있어 최신 정보로 교체하여야 합니다. 검토 후 최신 사건이 반영되도록 문단을 수정해 주세요. |
배포일자 | 버전 | 부가정보 |
---|---|---|
2014년 1월 24일 | 2.1 | |
2013년 4월 18일 | 2.0 | |
2014년 1월 24일 | 1.11 | |
2013년 5월 24일 | 1.10 | |
2013년 1월 15일 | 1.9 | 사문화된 인터페이스 삭제 및 코드 정리 |
2012년 8월 9일 | 1.8 | |
2011년 11월 3일 | 1.7 | |
2011년 6월 30일 | 1.6.2 | |
2011년 5월 12일 | 1.6.1 | |
2011년 5월 3일 | 1.6 | attr()와 val() 함수의 큰 성능향상 |
2011년 3월 31일 | 1.5.2 | |
2011년 2월 24일 | 1.5.1 | |
2011년 1월 31일 | 1.5 | |
2010년 11월 11일 | 1.4.4 | |
2010년 10월 16일 | 1.4.3 | |
2010년 2월 19일 | 1.4.2 | 성능향상에 초점을 둔 버전업 |
2010년 1월 25일 | 1.4.1 | 1.4 첫 번째 버그 픽스 |
2010년 1월 14일 | 1.4 | 메이저 업데이트입니다. |
2009년 2월 20일 | 1.3.2 | |
2009년 1월 21일 | 1.3.1 | |
2009년 1월 14일 | 1.3 | Sizzle Selector엔진을 핵심부에 도입 |
2008년 5월 24일 | 1.2.6 | |
2008년 5월 21일 | 1.2.5 | 1.2.4 오류 빌드 수정 |
2008년 5월 19일 | 1.2.4 | |
2008년 2월 8일 | 1.2.3 | |
2008년 1월 15일 | 1.2.2 | |
2007년 9월 16일 | 1.2.1 | |
2007년 9월 10일 | 1.2 | |
2007년 8월 24일 | 1.1.4 | |
2007년 7월 5일 | 1.1.3.1 | |
2007년 7월 1일 | 1.1.3 | |
2007년 5월 20일 | 1.1.3a | Alpha 배포 |
2007년 2월 27일 | 1.1.2 | |
2007년 1월 22일 | 1.1.1 | |
2007년 1월 14일 | 1.1 | |
2007년 1월 8일 | 1.1a | Alpha 배포 |
2006년 12월 12일 | 1.0.4 | Last 1.0 bug fix |
2006년 10월 27일 | 1.0.3 | |
2006년 10월 9일 | 1.0.2 | |
2006년 8월 31일 | 1.0.1 | |
2006년 8월 26일 | 1.0 | 첫 번째 안정화 배포 |
2006년 6월 30일 | 1.0a | Alpha 배포 |
각주
- eWeek
- Infoworld, (again)
- Advancing JavaScript with Libraries (Part 1) VIDEO
- Advancing JavaScript with Libraries (Part 2) VIDEO
더 읽어보기
- Learning jQuery, ISBN 1-84719-250-5
- jQuery in Action, ISBN 1-933988-35-5
- Beginning JavaScript with DOM Scripting and Ajax, ISBN 1-59059-680-3
- Hacking del.icio.us, ISBN 0-470-03785-7
- Pro JavaScript Techniques, ISBN 1-59059-727-3
- AJAX and PHP: Building Responsive Web Applications, ISBN 1-904811-82-5
- Web Development Solutions, ISBN 1-59059-806-7
참조
- ↑ Resig, John (2009년 1월 14일). “jQuery 1.3 and the jQuery Foundation”. 2014년 3월 26일에 확인함.
- ↑ Browser Support | jQuery
바깥 고리
- JQuery - 공식 웹사이트