Search

반응형

'Software/jQuery'에 해당되는 글 2건

  1. 2023.06.19 [jQuery/javascript]$와 $()에 대한 이야기. 제이쿼리
  2. 2021.03.01 [ jQuery/javascript]jQuery 기본 사용법에 대해 알아봅니다. 1
반응형

안녕하세요. 신기한 연구소입니다.

jQuery를 처음 하는 분들이 궁금해하는 부분이 있습니다.

 

jQuery를 공부하면 $를 사용하는데요. 이전 포스팅에서 이야기했듯 $는 jQuery에서 사용하는 특수 기호입니다.

원래 jQuery("p").remove(); 로 사용하는데 단축표기로 $("p").remove(); 로 쓰면 됩니다.

훨씬 짧고 깔끔하네요. 이렇게 약속을 한거니 jQuery개발자라면 바로 이해하겠지요.

$() 사용 방법은 이전 포스팅을 참고하세요.

2021.03.01 - [Software/jQuery] - [ jQuery/javascript]jQuery 기본 사용법에 대해 알아봅니다.

 

[ jQuery/javascript]jQuery 기본 사용법에 대해 알아봅니다.

안녕하세요. 신기한 연구소입니다. 오랜만에 프로젝트에 투입되었는데 jQuery를 사용하네요. ㅎㅎ 사용한 지 오래되어서 기억이 가물거립니다. 복습도 할 겸 포스팅을 해봅니다. 사실 일하면서

tiboy.tistory.com

작성일을 보니 2년이 훌쩍 지나버렸네요. 게으른 개발자입니다.

사실 다른 프로젝트로 옮겨 다니다 보니 jQuery 사용을 하지 않아서 잠깐 관심을 못가졌던겁니다.

그런데 제목을 보면 $와 $()에 대한 이야기로 되어 있는데요. 둘이 같은 거 아닌가요?

우리가 보통 jQuery를 사용할 때는 $()를 사용합니다.

아래 remove() 같은 메서드들은 jQuery 객체에서 호출되는데 $.fn 네임스페이스 또는 jQuery prototype이라고 하는데 jQuery 객체 메서드로 이해하는 것이 좋겠네요.

$("p").remove(); 

그럼 $는 무엇일까요?

$.trim();

위 소스를 보면 $에 ()가 없습니다. 그리고 바로 메서드를 호출합니다.

$('p') 객체에 jQuery메서드인 remove()를 실행한다는 의미의 $()와는 다르게 $는 core jQuery methods(코어 jQuery 메서드) 즉, utility method를 호출할 때 사용한다고 생각하면 됩니다.

바로 $.trim() 같은 경우입니다.

jQuery는 $ namespace로 여러 유틸리티 메서드들을 제공하고 있습니다.

일반적인 유형의 프로그래밍을 할 때 유용하게 사용할 수 있습니다.

특정한 DOM 객체를 지정해서 jQuery 메서드를 작동시키는 것과 달리$ namesapce 방식은 일반적은 데이터를 가지고 활용할 수 있습니다.

$.trim()으로 간단한 예제를 만들어보겠습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<!DOCTYPE html>
<html>
    <head>
        <title>tiBoyTest</title>        
        <script src="js/jquery-3.7.0.min.js"></script>
    </head>
    <body>
        <div id="test1">Test jQuery</div>
        
        <script>
            $(document).ready(function(){
                var a = '  asdfdf   ';
                alert(a);
                alert($.trim(a));
            });
        </script>
    </body>
</html> 
cs

 

위 예제를 보면 변수 a에 앞 뒤로 공백을 넣은 문자열 리터럴 값을 할당했습니다.

그리고 alert(a)를 하면 공백이 포함된 값이 팝업으로 뜹니다.

alert 창이 뜨면 'asdfdf' 글자 위에 마우스 우클릭 후 전체 선택을 하면 공백이 포함되었음을 확인할 수 있어요.

두 번째 alert($.trim(a))은 $ namespace로 utility 메서드인 trim()을 호출했습니다.

특정 DOM 객체 없이 변수값으로 메서드를 실행했고 결과는 앞 뒤에 있는 공백이 사라지게 됩니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<!DOCTYPE html>
<html>
    <head>
        <title>tiBoyTest</title>        
        <script src="js/jquery-3.7.0.min.js"></script>
    </head>
    <body>
        <div id="test1">Test jQuery</div>
        
        <script>
            $(document).ready(function(){
                debugger; 
                var myArray = [ 1234 ];
 
                if ( $.inArray( 4, myArray ) !== -1 ) {
                    console.log( "값이 존재함." );
                }
            });
        </script>
    </body>
</html> 
cs

 

하나 더 예를 들어 봅니다.

$.inArray 는 배열 내 지정한 값이 있으면 해당 index를 리턴합니다. 만약 일치하는 값이 없으면 -1을 리턴합니다.

위 예제를 보면 배열 내 값 4가 존재하므로 콘솔에 '값이 존재함'을 출력합니다.

정리하면,

jQuery에서 $기호는 jQuery를 단축 기호를 의미합니다.

$()는 $.fn 으로 DOM 객체를 선택하고 그 객체에 jQuery 메서드를 실행할 수 있게 합니다.

반면, $ namespace는 jQuery 내 유틸리티 메서드 (코어 메서드)를 실행할 때 사용합니다.

 

우리는 이제 jQuery에서 $와 $()를 이해했고 구분해서 사용할 수 있게 되었습니다.

utility methods는 jQuery 사이트에서 확인해 볼 수 있습니다.

슬슬 재미있어집니다.

반응형
반응형

안녕하세요. 신기한 연구소입니다.

오랜만에 프로젝트에 투입되었는데 jQuery를 사용하네요. ㅎㅎ

사용한 지 오래되어서 기억이 가물거립니다.

복습도 할 겸 포스팅을 해봅니다.

사실 일하면서 보려고 쓰는 겁니다. ㅎㅎ

최근에 딥러닝(deep learning) 공부를 하고 있었답니다.

누군가 그러더군요.

개발자가 딥러닝을 왜 공부하냐고. 

개발자는 라이브러리 사용법만 익혀서 적절히 사용하면 된다면서

굳이 수학적으로 분석하고 공부할 이유가 없다고 하더군요.

jQuery도 같은 맥락이 아닐까 싶네요.

복잡한 자바스크립트(javascript)를 이리저리 테스트하고 사용하면서 시간낭비를 하는 것보단

jQuery 라이브러리로 간단하게 해결하면 효율적이라는 겁니다.

자바스크립트(javascript)로 길게 코딩할 필요 없이 간단히 jQuery 라이브러리로 정리한다면

그나마 칼퇴근에 도움이 되지 않을까 싶네요. ㅎㅎ

그렇다고 자바스크립트(javascript)를 무시하면 안 된답니다.

jQuery도 자바스크립트로 만들었거든요.

 

우선 jQuery를 사용하려면 해당 js 파일을 다운로드하여야 합니다.

https://jquery.com/download/

 

Download jQuery | jQuery

link Downloading jQuery Compressed and uncompressed copies of jQuery files are available. The uncompressed file is best used during development or debugging; the compressed file saves bandwidth and improves performance in production. You can also download

jquery.com

production과 development가 있는데

용량을 가볍게 하고 jQuery라이브러리를 수정하지 않고 사용만 한다면

production으로 다운로드하면 되고

jQuery 라이브러리 소스를 수정하거나 분석이 필요하다면

development로 다운받으면 됩니다.

오른쪽 클릭 후 다운로드하면 됩니다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<!DOCTYPE html>
<html>
    <head>
        <title>tiBoyTest</title>        
        <script src="js/jquery-3.5.1.js"></script>
    </head>
    <body>
        <div id="test1">Test jQuery</div>
        
        <script>
            $(document).ready(function(){
                alert('hi');
            });
        </script>
    </body>
</html> 
cs

 

js 폴더에 jquery-3.5.1.js를 다운로드했습니다.

그리고 $()를 사용하고 있습니다.

원래 jQuery()로 사용하는데 더 간단하게 표현하고 위해 단축으로 $를 사용하고 있답니다.

$(document).ready(function(){

이 구문을 해석하면 html파일이 실행되면

DOM(Document Object Model, 문서객체모델)을 호출하는 부분이 $(document)입니다.

.ready는 DOM의 속성으로 준비, 즉 화면이 로딩되는 시점의 준비를 의미합니다.

그리고 function()을 사용해서 구현을 하면 됩니다.

 

그럼 간단하게 사용하는 방법을 살펴볼게요.

우선 <div> 처럼 요소를 선택해서 명령을 전달할 수 있습니다.

$("div").hide();

두 번째로 CSS에서 사용하는 class 값을 사용할 수 있습니다.

<div class="d01">

$(".d01").hide();

주의할 점은 클래스 값을 사용하는 경우는 반드시 .을 붙여서 사용합니다.

마지막으로 id를 사용하는 방법이 있습니다.

특정 부분에 대해 명령을 하고 싶을 때 사용하면 유용합니다.

<div id="d_01" class="d01">

$("#d_01").hide();

주의할 점은 id를 사용할 때는 반드시 #을 붙여서 사용해야 합니다.

이렇게 요소는 이름 그대로 사용하고,

클래스 값은 .을 붙여서 사용하며,

id는 #을 붙여서 구분할 수 있답니다.

이제 기본적으로 요소를 선택하는 방법을 알았으니

다양한 메서드(함수)를 사용하는 방법에 대해 준비해보겠습니다.

아래 하트(공감) 버튼을 눌러서 더 다양한 글을 쓸 수 있게 응원 부탁드립니다. 감사합니다.

 

반응형

'Software > jQuery' 카테고리의 다른 글

[jQuery/javascript]$와 $()에 대한 이야기. 제이쿼리  (0) 2023.06.19