오봉이와 함께하는 개발 블로그

jQuery - 코드 형태, 선택자 예제 본문

FE/jQuery

jQuery - 코드 형태, 선택자 예제

오봉봉이 2021. 12. 13. 17:36
728x90

jQuery 코드 형태

  • 객체 구조로 객체.메소드 형태
  • 객체 선택
    • %('선택자').메소드
    • $('p').css('color', 'red') : 모든 <p> 태그 선택하고 스타일 적용
  • 사용자가 생성한 객체 사용
    • 객체.메소드
    • var obj = $('선택자').메소드;
    • obj.메소드
  • 메소드 체이닝
    • 여러 개의 메소드를 연결해서 사용
    • 객체.메소드1.메소드2.@@@@.메소드n;
  • jQuery 치환
    • jQuery의 모든 함수 및 객체는 jQuery에서 제공되는 것이라는 점을 나타내기 위해 코드 앞에 jQuery라는 키워드를 사용
      • jQuery(document).ready( function(){ alert("jQuery 시작 - external 방식"); } );
    • 쉽게 하기 위헤 $로 치환해서 사용
      • $(document).ready( function(){ alert("jQuery 시작 - external 방식"); } );
  • $(document).ready(함수) 명령어
    • 화면에 페이지가 로딩된 후 실행
    • HTML 문서가 화면에 보여진 후 자동으로 포함된 함수 실행
    • 자바스크립트의 window.onload와 동일하게 사용
      • window.onload = function() { @@@ };
  • $(document).ready()와 window.onload = function()
    • 공통점
      • 콜백 함수가 호출되는 시점에서 DOM 요소에 접근 가능
    • 차이점
      • $(document).ready()는 DOM 요소가 load 되었을 때 이벤트 발생하며 호출(외부 리소스, 이미지, 또는 음악 등이 로드 되기 전)
      • window.onload = function()은 DOM 요소 뿐 아니라 외부 리소스, 이미지 또는 음악 등 모든 컨텐츠의 로드가 끝나는 시점에서 이벤트 발생하며 호출
  • $(document).ready(함수)의 단축 형태
    • $(function() { @@@ });

jQuery 선택자

  • jQuery 코드는 선택자와 메소드의 조합으로 구성되는 경우가 많음
  • 중간에 자바스크립트 코드 같이 작성
  • HTML 태그를 쉽게 선택하기 위해 선택자 사용
  • 선택자 구조
    • $(‘선택자’).메소드(매개변수, 함수 등)
    • $(‘span’).hide();
    • 큰 따옴표 / 작은 따옴표 다 사용 가능
  • 선택자 종류
    • 직접 선택자
      • 전체 : $("*")
      • 태그 : $("태그명")
      • 아이디 : $("#id 명")
      • 클래스 : $(".class 명")
      • 그룹 선택자
    • 인접 관계 선택자
      • 상위 요소(조상/부모) 선택자
      • 하위 요소 (자식/자손) 선택자
      • 형제 선택자
    • 필터 선택자
    • 속성 선택자
    • 컨텐츠 탐색 선택자
태그 선택자 - tag-Select.html
    <script src="jquery-3.6.0.min.js"></script>
    <script type="text/javascript">
       $(document).ready(function() {
           // 태그 선택자
            $('h1').css('color', 'red');
            $('h1').css('background', 'black');
            //메소드 체인 방식
            $('h1').css('width', '50%').css('height', '40px');
       });
    </script>
</head>
<body>
    <h1>Header1</h1>
    <h1>Header2</h1>
    <h1>Header3</h1>
</body>
아이디 선택자 - id-Select.html
    <script src="jquery-3.6.0.min.js"></script>
    <script type="text/javascript">
       $(document).ready(function() {
           // 아이디 선택자
            $('#h1').css('color', 'red');
            $('#h2').css('background', 'black');
            //메소드 체인 방식
            $('h1').css('width', '50%').css('height', '40px');
       });
    </script>
</head>
<body>
    <h1 id="h1">Header1</h1>
    <h1 id="h2">Header2</h1>
    <h1>Header3</h1>
</body>
클래스 선택자 - classSelector.html
        <script type="text/javascript">
            $(document).ready(function(){
                $('.group1').css({
                    float: 'left',
                    background:'blue',
                    color:'white',
                    width: '90%',
                    height: '30px'
                });

                $('.group2').css({
                    float: 'right',
                    background:'yellow',
                    color:'black',
                    width: '90%'
                });
                });
        </script>
    </head>
    <body>
        <div id="box1">
            <div class="group1">A</div>
            <div class="group2">A</div>
            <div class="group1">B</div>
            <div class="group2">B</div>
            <div class="group1">C</div>
            <div class="group2">C</div>
        </div>
    </body>
인접 관게 선택자 - childSelector.html
        <script src= "jquery-3.6.0.min.js"></script>
        <script type="text/javascript">
        $(function(){ //$(document).ready(함수)의 단축 형태
            //1. <ol> 태그의 모든 자손 <li> 태그 글자색 red
            $('ol li').css('color', 'red');

            //2. <ol> 태그의 자식 <li> 태그 글자색 blue
            $('ol>li').css('color', 'blue');

            //3. 아이디가 children인 요소의 자식 <li> 태그 밑줄
            $('#children>li').css('textDecoration', 'underline');

            //4. 클래스가 method 요소의 모든 자손 요소의 글자색을 black
            //find() 메소드 사용
            $('.method').find('li').css('color', 'black');                

            //5. 클래스가 method 요소의 자식 요소에 속성 2개 설정
            //children() 메소드 사용
            $('.method').children('li').css({'color':'green', 'font-style':'italic'});
        });    
        </script>                
    </head>
    <body>        
        <h3>자식/자손 선택자</h3>
        <ol>
            <li>자손 요소의 선택 방법</li>
                <ul>
                       <li>&#36;(“선택자 선택자”)</li>
                       <li>$(“ol li”)</li>
                       <li>ol 의 자손인 모든 li 태그 선택 : 글자색(red)</li>
                </ul> 
            <li>자식 요소의 선택 방법</li>
                <ul id="children">
                   <li>$(“선택자>선택자”)</li>
                   <li>$(“ol>li”)</li>
                   <li>ol의 자식인 li 태그 선택 : 글자색(blue)</li>
                   <li>$(“ul>li”)</li>
                   <li>ul의 자식인 li 태그 선택 : 글자(underline)</li>
                </ul>               
             <li>메소드를 사용하는 방법</li>   
                 <ol class="method">
                   <li>자손 요소 선택 : find()</li>
                       <ul>
                       <li>$(“선택자”).find(“선택자”)</li>
                       <li>$(“.method).find(“li”)</li>
                       <li>클래스 method 모든 자손 li 태그 선택 : 글자색(black)</li>
                    </ul>       
                   <li>자식 요소 선택 : children()</li>
                       <ul>
                       <li>$(“선택자”).children(“선택자”)</li>
                       <li>$(“.method).children(“li”)</li>
                       <li>클래스 method 자식 선택 : 글자색(green)</li>
                    </ul>
                 </ol>            
        </ol>
    </body>
전체, 태그, ID, 클래스 선택자 - directSelector.html
        <script src= "jquery-3.6.0.min.js"></script>
        <script type="text/javascript">
            $(document).ready(function(){
                //1. 전체 선택자 : 문서 전체의 글자색 변경
                $("*").css("color", "red");

                //2. 태그 선택자 : h3 태그에 밑줄 그리기
                $('h3').css('textDecoration','underline');

                //3. 태그 선택자 : h3, h4 태그에 배경색 pink 지정하기
                $('h3, h4').css('backgroundColor','pink');

                //4. ID 선택자 : id가 idSelector인 태그의 글자 색상을 blue/#0000ff/#00f
                //id가 jQuery인 태그의 글자 색상을 green으로 설정
                $("#idSelector").css('color','blue'); 
                $("#jQuery").css('color','green'); 

                //5. 클래스 선택자 : class가 selector인 태그의 글자를 이탤릭체로,
                //class가 web인 태그의 글자를 굵게
                $(".selector").css('font-style', 'italic'); 
                $(".web").css('font-weight', 'bold');                  
            });
        </script>        
    </head>
    <body>        
        <h3>jQuery 직접 선택자 (selector)</h3>        
        <div class="selector">
            <ol>
                <li>전체 선택자</li>
                <li>태그 선택자</li>
                <li  id="idSelector">ID 선택자 </li>
                <li>클래스 선택자</li>
            </ol>
        </div>            

        <h4>웹 프로그래밍</h4>
        <div class="web">
            <ol type="A">
                <li>JSP</li>
                <li>Javascript</li>
                <li  id="jQuery">jQuery</li>
                <li>Ajax</li>
            </ol>
        </div>    
    </body>
728x90

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

jQuery - 변수  (0) 2021.12.14
jQuery - 속성 선택자  (0) 2021.12.14
jQuery - 필터 선택자  (0) 2021.12.14
jQuery - 조상/부모/형제 요소 선택자  (0) 2021.12.14
jQuery - 기본  (0) 2021.12.13
Comments