이진욱의코딩

jQuery에 대해 알아봅시다. 본문

JS

jQuery에 대해 알아봅시다.

Crucifi 2019. 8. 30. 17:59

이번 시간은 제이쿼리에 대해 알아보도록 하죠.

 

우선, 라이브러리에 대해 설명을 먼저 하자면 라이브러리는 자주 사용하는 로직을 재사용할 수 있도록 고안된 소프트웨어를 라이브러리라고 한다. 

제이쿼리를 이용하면 훨씬 더 쉽게 사용가능하다 예를 들어 DOM을 이용하면 10줄이 나오는 것을 제이쿼리 라이브러리를 사용하면

1줄에 끝낼 수 있다.

 

더욱더 간단하게 설명하자면 (된장을 푼 물에 갖은 재료를 넣어 끓인 찌개로 토장찌개라고도 불린다. 된장은 한국의 전통 발효음식이며 콩으로 메주를 쑤어 말린 뒤 발효시킨 것을 뜻하는데, 주로 음식의 양념으로 쓰이는 식품이다. 그중 된장찌개는 한국 사람들이 즐겨 먹는 토착성이 짙은 음식으로, 된장만을 넣어 끓이기도 하고, 고추장이나 고춧가루를 첨가하여 매콤한 맛을 더하기도 한다. 계절에 맞춰 봄에는 냉이나 달래를 넣어 끓이기도 하고, 겨울에는 시래기를 데쳐 넣기도 한다. 찌개는 채소, 두부, 버섯, 해산물, 고기 등의 여러 가지 식품을 넣어 함께 끓여낸 것으로, 뚝배기에 담아 먹는 동안 따뜻하게 즐길 수 있다. 주재료에 따라 해산물 된장찌개, 우렁된장찌개, 북어 된장찌개, 두부된장찌개, 우거지 된장찌개, 등이 있으며, 기본적으로 우수한 단백질 공급원인 콩이 들어가 있기 때문에 다양한 영양소를 섭취하는 데 도움을 주는 식품이다. 소고기는 잘게 다지고, 두부는 두툼하게 깍둑썰기 한다.애호박은 반달 모양으로 썬다. 양파는 네모 썰기 하고, 대파와 고추는 어슷하게 썰어 놓는다. 냄비에 물이 끓으면 멸치와 다시마를 넣어 육수를 낸다. 육수가 우러나면 멸치와 다시마는 건져낸다. 육수를 끓이다 된장을 풀고 다진 소고기를 넣는다. 한소끔 끓으면 애호박, 양파, 두부를 넣어 끓이다 마지막으로 달래와 대파, 고추를 넣고 한소끔 끓인다. 모자란 간은 소금으로 맞춘다. 얼큰한 맛을 좋아하면 된장을 풀 때, 고춧가루와 고추장을 넣어도 좋다. 달래나 냉이를 넣어 끓일 때는 맨 마지막에 넣으면, 향을 보존할 수 있고, 시래기를 넣어 끓일 때에는 한 번 데쳐서 먹기 좋은 크기로 잘라 넣는다. 된장에는 이소플라본(isoflavone)이라는 물질이 함유되어 있어 심혈관계 질환이나 골다공증과 같은 질병을 예방하는 데 도움을 주며, 레시틴(lecithin)이라는 성분이 뇌기능 향상에 도움을 주어 성장기 어린이는 물론 성인과 노인에게도 효과적이다. 또한, 식이섬유가 풍부하여 변비 예방에도 이롭다.)

라는 설명을 제이쿼리를 사용하면

 

"된장찌개"라고 정의할 수 있다.

 

이렇게 라이브러리를 사용하면 코드의 가독성과 유지보수가 쉽다는 장점이 있다.

 

JQuery는 DOM을 내부에 감추고 보다 쉽게 웹페이지를 조작할 수 있도록 돕는 도구이다.

 

jQuery를 사용하기 위해서는 jQuery를 HTML로 로드해야 한다. 아래는 jQuery를 로드하는 방법이다.

 

<!DOCTYPE html>
<html>
<body>
<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
    <script>
    jQuery( document ).ready(function( $ ) {
      $('body').prepend('<h1>Hello world</h1>');
    });
    </script>
</body>
</html>

결과는 Body 태그 아래에 <h1> Hello world </h1> 코드가 만들어진다.

아래와 같이 jQuery( document ). ready(function( $ ) {}로 감싸는 것이 이상적이다.

 

그리고 jQuery를 이용해서 객체를 조회하는 방법에 대해서도 알아보도록 하겠습니다.

 

jQuery를 이용하면 DOM을 사용하는 것보다 훨씬 효율적으로 필요한 객체를 조회할 수 있다. jQuery는 객체를 조회할 때 CSS 선택자를 이용한다.

 

jQuery의 기본 문법

jQuery의 기본 문법은 단순하고 강력하다. 

 

$('li'). css('color', 'red');

 

$()는 jQuery의 함수이다. 이 함수의 인자로 CSS 선택자(li)를 전달하면 jQuery 객체라는 것을 리턴한다. 이 객체는 선택자에 해당하는 엘리먼트를 제어하는 다양한 메서드를 가지고 있다. 위의 그림에서 css는 선택자에 해당하는 객체들의 style에 color:red로 변경한다.

 

예제를 살펴보도록 하겠습니다.

 

<!DOCTYPE html>
<html>
<head>
    <style>
    #demo{width:200px;float: left; margin-top:120px;}
    #execute{float: left; margin:0; font-size:0.9em;}
    #execute{padding-left: 5px}
    #execute li{list-style: none}
    #execute pre{border:1px solid gray; padding:10px;}
    </style>
</head>
<body>
<ul id="demo">
    <li class="active">HTML</li>
    <li id="active">CSS</li>
    <li class="active">JavaScript</li>
</ul>
<ul id="execute">
    <li>
        <pre>
var lis = document.getElementsByTagName('li');
for(var i=0; i&lt;lis.length; i++){
    lis[i].style.color='red';   
</pre>
        <pre>
$('li').css('color', 'red')     </pre>
        <input type="button" value="execute" onclick="$('li').css('color', 'red')" />
    </li>
    <li>
        <pre>
var lis = document.getElementsByClassName('active');
for(var i=0; i &lt; lis.length; i++){
    lis[i].style.color='red';   
}</pre>
        <pre>
$('.active').css('color', 'red')</pre>
        <input type="button" value="execute" onclick="$('.active').css('color', 'red')" />
    </li>
    <li>
        <pre>
var li = document.getElementById('active');
li.style.color='red';
li.style.textDecoration='underline';</pre>
        <pre>
$('$active').css('color', 'red').css('textDecoration', 'underline');
        </pre>
        <input type="button" value="execute" onclick="$('#active').css('color', 'red').css('textDecoration', 'underline')" />
    </li>
</ul>
<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
</body>
</html>

DOM을 사용했을 때는

 

  <pre>
var lis = document.getElementsByTagName('li');
for(var i=0; i&lt;lis.length; i++){
    lis[i].style.color='red';   
</pre>

이렇게 하면 나오는 것을 제이쿼리를 이용하면

 

  <pre>
$('li').css('color', 'red')     </pre>

이렇게 깔끔하게 표현할 수 있다.

 

다음 시간에는 각각의 객체에 대해 알아보도록 하겠습니다.

'JS' 카테고리의 다른 글

서버를 이용해서 Ajax하기(기초)  (0) 2019.09.06
jQuery 객체에 대해 알아봅시다.  (0) 2019.08.31
(DOM)제어 대상을 찾기  (0) 2019.08.27
BOM에 대한 A to Z  (0) 2019.08.27
DOM, BOM에 대해 알아봅시다.  (0) 2019.08.26