본문 바로가기
Front/jQuery

jQuery - 선택자(인접 관계 선택자)

by Hyeon_ 2021. 12. 13.

jQuery 선택자(selector)

  • jQuery 코드는 선택자와 메소드의 조합으로 구성되는 경우가 많음
  • 중간에 자바스크립트 코드 같이 작성
  • HTML 태그를 쉽게 선택하기 위해 선택자 사용

선택자 종류

  • 직접 선택자
  • 인접 관계 선택자
    • 상위 요소(조상 / 부모) 선택자
    • 하위 요소(자식 / 자손) 선택자
    • 형제 선택자
  • 필터 선택자
  • 속성 선택자
  • 컨텐츠 탐색 선택자

인접 관계 선택자

  • 부모 요소 선택 : parent()
  • 조상 : parents()
  • 형제 : next() / nextAll() / nextUntil() / prev() / prevAll() / prevUntil()

인접 관계 선택자 예제

child-selector.html
  • 자식 / 자손 선택자
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JavaScript</title>
    <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>
</html>
parentNext,html
  • 조상 / 부모 / 형제 요소 선택자
<!doctype html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>조상/부모/형제 요소 선택자</title> 
        <style type="text/css">
            div {
                border:1px solid #000000;
                padding:10px;
                display:inline-block;
            }
        </style>
        <script src= "jquery-3.6.0.min.js"></script>
        <script type="text/javascript">
            $(document).ready(function(){
                $('p').parents().css('background','yellow'); // 모든 조상
                $('p').parents('#area').css('background','white'); // 모든 area
                $('p').parents('#c1, #c2').css('background','brown'); // 조상 c1,c2
                $('p').parent().css('background','green'); // p의 부모
                $('#c1').next().css('background','pink'); // c1의 바로 다음 요소
                $('#c2').nextAll().css('background','orange'); // c2의 모든 다음 요소
                $('#c4').prevAll().css('color','blue'); // c4 기준 이전 모든 요소
                // c1 다음부터 c4 이전까지 : c2, c3
                $('#c1').nextUntil('#c4').css('borderRadius', '20px');
                // c3 이전 c1 다음까지 : c2
                $('#c3').prevUntil('#c1').css('border', 'solid 5px red');
            });
        </script>               
    </head>
    <body>        
        <h3>조상/부모/형제 요소 선택자</h3>      
        <div id="area">  
            area 영역 
            <div id="c1">
                c1영역
                <div id="s1">
                    s1 영역
                    <p>p</p>
                </div>
            </div>     
            <div id="c2">
                c2영역
                <div id="s2">
                    s2 영역
                    <p>p</p>
                </div>
            </div>
            <div id="c3">
                c3영역
                <div id="s3">
                    s3 영역
                    <p>p</p>
                </div>
            </div>
            <div id="c4">
                c4영역
                <div id="s4">
                    s4 영역
                    <p>p</p>
                </div>
            </div>
         </div>       
    </body>
</html>

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

jQuery - 선택자(컨텐츠 탐색 선택자)  (0) 2021.12.14
jQuery - 선택자(속성 선택자)  (0) 2021.12.14
jQuery - 선택자(필터 선택자)  (0) 2021.12.14
jQuery - 선택자(직접 선택자)  (0) 2021.12.13
jQuery란?  (0) 2021.12.13