본문 바로가기
[jQuery]

[jQuery] 제이쿼리(jQuery) 문법

by 북방바다코끼리표범 2023. 9. 16.

복습

https://shins99.tistory.com/78

 

[jQuery] 제이쿼리 개요

제이쿼리(jQuery)란? 제이쿼리(jQuery)는 오픈 소스 기반의 자바스크립트 라이브러리입니다. 제이쿼리는 여러분의 웹 사이트에 자바스크립트를 더욱 손쉽게 활용할 수 있게 해줍니다. 또한, 제이쿼

shins99.tistory.com


제이쿼리 문법

- 사용 시 아주 간편하게 HTML 요소를 선택하고, 그렇게 선택된 요소에 손쉽게 특정 동작을 설정 가능.

 

제이쿼리의 기본 문법

1
2
3
문법
 
$(선택자).동작함수();
cs

 

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

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


$() 함수

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

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

- $() 함수를 통해 생성된 요소 =  제이쿼리 객체(jQuery object)

- 이렇게 생성된 제이쿼리 객체의 메소드를 사용하여 여러 동작을 설정 가능


Document 객체의 ready() 메소드

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

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

 

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

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

 

(아직 생성되지 않은 HTML 요소에 속성을 추가하는 예제)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
예제
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");
}
cs

 

 

- addAttribute() 함수는 아이디가 "para"인 HTML 요소에 새로운 속성을 추가하는 함수

- createElement() 함수는 아이디가 "para"인 HTML 요소를 생성하여 추가해 주는 함수

 

(아이디가 "para"인 HTML 요소가 생성되기 전에 해당 요소에 속성을 추가해 주는 addAttribute() 함수가 호출되므로, Uncaught TypeError가 발생하여 실행중이던 스크립트는 중지)

 

(먼저 호출되는 addAttribute() 함수를 createElement() 함수 뒤에 호출하면, 정상적으로 동작)

 

(웹 브라우저에서는 현재 HTML 문서에서 발생한 오류를 F12 버튼으로 확인 가능)

 

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

 

1
2
3
4
문법
window.onload = function() {
   // 자바스크립트 코드;
};
cs
 

제이쿼리 : Document 객체의 ready() 메서드를 이용하여 같은 결과를 보장

1
2
3
4
문법
$(document).ready(function() {
    // 제이쿼리 코드;
});
cs

 

 

jQuery Team : 같은 결과를 보장하는 더욱 짧은 문법을 다음과 같이 제공

1
2
3
4
문법
$(function() {
    // 제이쿼리 코드;
});
cs

 

 

(문서가 모두 로드되는 시점과 창이 모두 로드되는 시점의 차이를 보여주는 예제)

1
2
3
4
5
6
7
예제
$(document).ready( function() {
    $("#doc").text("문서가 전부 로드됐어요!");
});
$(window).load( function() {
    $("#win").text("창이 모두 로드됐어요!");
});
cs

 

'[jQuery]' 카테고리의 다른 글

[jQuery] 요소의 추가  (21) 2023.09.24
[jQuery] 선택 요소에 접근  (0) 2023.09.21
[jQuery] 제이쿼리 선택자  (0) 2023.09.19
[jQuery] CSS 선택자  (0) 2023.09.18
[jQuery] 제이쿼리 개요  (0) 2023.09.15