본문 바로가기
jQuery

jQuery 기본

by godfeeling 2020. 7. 3.

제이쿼리 문법

제이쿼리를 사용하면 아주 간편하게 HTML 요소를 선택하고, 그렇게 선택된 요소에 손쉽게 특정 동작을 설정할 수 있습니다.

 

 

 

제이쿼리의 기본 문법은 다음과 같습니다.

 

문법

$(선택자).동작함수();

 

 

 

달러($) 기호는 제이쿼리를 의미하고, 제이쿼리에 접근할 수 있게 해주는 식별자입니다.

 

선택자를 이용하여 원하는 HTML 요소를 선택하고, 동작 함수를 정의하여 선택된 요소에 원하는 동작을 설정합니다.

 

$() 함수

$() 함수는 선택된 HTML 요소를 제이쿼리에서 이용할 수 있는 형태로 생성해 주는 역할을 합니다.

 

 

 

$() 함수의 인수로는 HTML 태그 이름뿐만 아니라, CSS 선택자를 전달하여 특정 HTML 요소를 선택할 수 있습니다.

 

이러한 $() 함수를 통해 생성된 요소를 제이쿼리 객체(jQuery object)라고 합니다.

 

제이쿼리는 이렇게 생성된 제이쿼리 객체의 메소드를 사용하여 여러 동작을 설정할 수 있습니다.

 

Document 객체의 ready() 메소드

자바스크립트 코드는 웹 브라우저가 문서의 모든 요소를 로드한 뒤에 실행되어야 합니다.

 

보통은 별다른 문제가 발생하지 않지만, 다음과 같은 경우에는 오류가 발생합니다.

 

 

 

- 아직 생성되지 않은 HTML 요소에 속성을 추가하려고 할 경우

 

- 아직 로드되지 않은 이미지의 크기를 얻으려고 할 경우

 

 

 

다음 예제는 아직 생성되지 않은 HTML 요소에 속성을 추가하는 예제입니다.

 

예제

function func() {

 

addAttribute(); // 아이디가 "para"HTML 요소에 속성을 추가함.

 

createElement(); // 아이디가 "para"HTML 요소를 생성함.

 

}

 

function createElement() {

 

var criteriaNode = document.getElementById("text");

 

var newNode = document.createElement("p") newNode.innerHTML = "새로운 단락입니다.";

 

newNode.setAttribute("id", "para");

 

document.body.insertBefore(newNode, criteriaNode);

 

}

 

function addAttribute() {

 

document.getElementById("para").setAttribute("style", "color: red");

 

}

위의 예제에서 addAttribute() 함수는 아이디가 "para"HTML 요소에 새로운 속성을 추가하는 함수입니다.

 

또한, createElement() 함수는 아이디가 "para"HTML 요소를 생성하여 추가해 주는 함수입니다.

 

 

 

위의 예제에서는 아이디가 "para"HTML 요소가 생성되기 전에 해당 요소에 속성을 추가해 주는 addAttribute() 함수가 호출되므로, Uncaught TypeError가 발생하여 실행중이던 스크립트는 중지될 것입니다.

 

만약 먼저 호출되는 addAttribute() 함수를 createElement() 함수 뒤에 호출하면, 정상적으로 동작할 것입니다.

웹 브라우저에서는 현재 HTML 문서에서 발생한 오류를 F12 버튼으로 확인할 수 있습니다.

그래서 자바스크립트에서는 Window 객체의 onload() 메소드를 이용하여 문서가 모두 로드된 뒤에 코드가 실행되도록 설정합니다.

 

문법

window.onload = function() {

 

자바스크립트 코드;

 

};

 

 

 

마찬가지로 제이쿼리에서는 Document 객체의 ready() 메소드를 이용하여 같은 결과를 보장하고 있습니다.

 

문법

$(document).ready(function() {

 

제이쿼리 코드;

 

});

 

 

 

또한, jQuery Team에서는 같은 결과를 보장하는 더욱 짧은 문법을 다음과 같이 제공하고 있습니다.

 

문법

$(function() {

 

제이쿼리 코드;

 

});

 

 

 

다음 예제는 문서가 모두 로드되는 시점과 창이 모두 로드되는 시점의 차이를 보여주는 예제입니다.

 

예제

$(document).ready( function() {

 

$("#doc").text("문서가 전부 로드됐어요!");

 

});

 

$(window).load( function() {

 

$("#win").text("창이 모두 로드됐어요!");

 

});

 

자바스크립트 기초 지식

제이쿼리는 자바스크립트 라이브러리이므로, 자바스크립트 언어에 대한 기초 지식이 있으면 제이쿼리를 배우는 데 많은 도움이 됩니다.

 

변수

변수(variable)란 데이터(data)를 저장할 수 있는 메모리 공간을 의미하며, 그 값은 변경될 수 있습니다.

 

자바스크립트에서는 var 키워드를 사용하여 변수를 선언합니다.

 

배열

자바스크립트에서 배열(array)1개 이상의 값들로 이루어진 집합으로 정의됩니다.

 

배열을 구성하는 각각의 값을 배열 요소(element)라고 하며, 배열에서의 위치를 가리키는 숫자를 인덱스(index)라고 합니다.

 

연산자

자바스크립트는 여러 종류의 연산을 위한 다양한 연산자를 제공합니다.

 

제어문

프로그램의 순차적인 흐름을 제어해야 할 때 사용하는 명령문을 제어문이라고 합니다.

 

이러한 제어문에는 조건문, 반복문 등이 포함됩니다.

 

함수

함수(function)란 하나의 특별한 목적의 작업을 수행하도록 설계된 독립적인 블록을 의미합니다.

 

 

 

함수를 사용하는 가장 큰 이유는 반복적인 코드의 작성을 피할 수 있기 때문입니다.

 

또한, 프로그램을 여러 개의 함수로 나누어 작성하면, 모듈화로 인해 전체적인 코드의 가독성이 좋아집니다.

 

그리고 프로그램에 문제가 발생하거나 기능의 변경이 필요할 때에도 손쉽게 유지보수를 할 수 있습니다.

 

유효 범위

변수의 유효 범위(scope)란 해당 변수가 접근할 수 있는 변수, 객체 그리고 함수의 집합을 의미합니다.

 

또한, 자바스크립트에서 함수는 자신이 정의된 범위 안에서 정의된 모든 변수 및 함수에 접근할 수 있습니다.

 

객체

자바스크립트에서 객체란 이름(name)과 값(value)으로 구성된 프로퍼티(property)의 정렬되지 않은 집합입니다.

 

프로퍼티의 값으로 함수가 올 수도 있는데, 이러한 프로퍼티를 메소드(method)라고 합니다.

'jQuery' 카테고리의 다른 글

jQuery 요소의영역  (0) 2020.07.03
jQuery 요소의탐색  (0) 2020.07.03
jQuery 요소의조작  (0) 2020.07.03
jQuery 요소의선택  (0) 2020.07.03
jQuery 기초  (0) 2020.07.03

댓글