jQuery

위키백과, 우리 모두의 백과사전.
Ykhwong (토론 | 기여)님의 2015년 9월 5일 (토) 10:53 판

jQuery
개발자jQuery 개발팀
안정화 버전
1.11.3
2.1.4 / 2015년 4월 28일(8년 전)(2015-04-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)에 영향을 준다. addClassslideDown는 리퍼런스된 노드들에 영향을 준다.

$.가 앞에 붙은 함수들은, 글로벌 프로퍼티나 비해이비어에 영향을 주는, 간편한(유틸리티) 메소드들이다. 예를 들면 다음과 같다:

$.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 배포

각주

더 읽어보기

참조

  1. Resig, John (2009년 1월 14일). “jQuery 1.3 and the jQuery Foundation”. 2014년 3월 26일에 확인함. 
  2. Browser Support | jQuery

바깥 고리