jQuery, Ajax, JSON
1. jQuery
jQuery는 웹 클라이언트 프로그래밍에서 JavaScript를 보다 쉽고 효율적으로 사용할 수 있도록 돕는 JavaScript 라이브러리입니다.
jQuery 개요
정의 및 특징: jQuery는 자바스크립트 프로그래밍을 단순하게 해 줌으로써 개발자가 적은 코드로도 복잡한 작업을 수행할 수 있도록 돕습니다. 배우기 쉽고, CSS와 유사한 문법을 사용함(특히 선택자 문법)이 특징입니다.
코드 간결성: JavaScript 코드와 jQuery 코드를 비교했을 때, jQuery가 훨씬 간결한 것을 확인할 수 있습니다.
// JavaScript
document.getElementById("target").innerHTML = "안녕하세요?";
// jQuery
$("#target").html("안녕하세요?");
주요 기능: jQuery를 사용하면 다음과 같은 작업을 수행할 수 있습니다.
- HTML 문서의 특정 요소에 접근하고 HTML 콘텐츠를 변경합니다
- 이벤트를 처리하고, 페이지 상의 콘텐츠에 애니메이션을 적용합니다
- 서버로부터 새로운 콘텐츠 가져오기(Ajax, JSON)가 가능합니다
- 브라우저의 종류나 버전에 무관하게 사용 가능하여 호환성이 뛰어납니다
동작 방식: jQuery는 브라우저 메모리에 저장된 웹 페이지의 DOM을 변경함으로써 작동하며, 이는 HTML 문서와 CSS 파일을 변경하는 것이 아님을 의미합니다.
역사 및 인기: 2006년 존 레식(John Resig)이 발표했으며, 현재 가장 인기 있는 자바스크립트 라이브러리로, 많이 방문되는 사이트의 65%가 jQuery를 사용함이라고 명시되어 있습니다. MIT 라이선스 하에 배포되는 자유 오픈 소프트웨어입니다.
사용 방법:
-
다운로드: jQuery.com에서 파일을 다운로드하여 서버에 저장하는 방식 (
jquery-3.9.1.min.js
와 같은 파일). uncompressed 버전은 테스트 및 디버깅용이며, minified 버전은 압축되어 더 빠르게 실행됩니다. -
온라인 포함(CDN): 구글이나 마이크로소프트와 같은 공개 서버의 CDN(Content Delivery Network)을 통해 온라인으로 포함하는 방법입니다. 사용자와 가장 가까운 서버를 자동으로 찾아주어 효율적입니다.
<script src="http://code.jquery.com/jquery-3.4.1.js"></script>
jQuery 문장 구조
jQuery 문장은 기본적으로 $(선택자).메서드();
형태로 구성됩니다.
$ 기호: jQuery라는 의미를 가지며, $(...)
안에 선택자를 넣어 원하는 요소를 선택하고 조작할 수 있습니다.
선택자: HTML 요소를 선택할 때 사용되며, CSS 표기법 사용이 특징입니다.
- 일반적인 선택자:
$("p")
(모든<p>
요소),$(".class명")
(해당 클래스의 요소),$("#id명")
(해당 ID의 요소) - 그 외 선택자:
$("*")
(모든 요소),$(this)
(현재 요소),$("p.myClass")
,$("p:first")
,$("div span")
,$(":button")
등 다양한 CSS 선택자를 활용할 수 있습니다
jQuery 동작 방식: HTML 문서가 완전히 로드된 후에 jQuery 동작하도록 함을 위해 $(document).ready(function() { ... });
구문을 사용합니다. 이는 DOM이 로딩되어 준비가 되면 작업을 시작하도록 합니다.
jQuery 이벤트 처리
jQuery는 다양한 이벤트 처리 기능을 제공하여 사용자와의 상호작용을 구현합니다.
중요한 이벤트 종류:
- 키보드:
keypress
,keydown
,keyup
- 마우스:
click
,dblclick
,mouseenter
,mouseleave
,mousedown
,mouseup
- 화면:
resize
,load
,unload
,scroll
- 변화:
submit
,change
- 포커스:
focus
,blur
이벤트 메서드 구문: $(selector).event(function() { ... });
형태로 작성됩니다.
$("#button1").click(function () {
$("#box").show();
});
이벤트 등록 방법:
- 정식 방법:
$(selector).bind('event', function() { ... });
(동적으로 추가된 요소에 유용) - 단축 메서드 방법:
$(selector).event(function() { ... });
(DOM 트리에 요소가 생성되어 있을 때만 가능)
이벤트 처리 함수: 모든 이벤트 처리 함수는 event 객체를 전달받으며, 이 객체는 pageX
, pageY
(마우스 위치), type
(이벤트 종류), which
(눌러진 마우스 버튼이나 키) 등의 유용한 속성을 가집니다.
2. jQuery의 응용
jQuery는 애니메이션, DOM 수정, CSS 조작 등 다양한 웹 페이지 요소 조작에 활용됩니다.