ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [JQuery] 인접관계선택자
    VScode/JQuery 2022. 9. 9. 14:28

    1. 자식(손) 선택자와 후손 선택자

    -$("요소선택자 하위요소"): 요소선택자의 지정하위요소 모두를 선택함

    -$("요소선택자>자식요소"): 요소선택자의 1단계 자식에 있는 자식요소만 선택

    -$("요소선택자+하위요소"): 요소선택자의 바로 다음에 나오는 지정하위요소를 선택함

    -$("요소선택자~하위요소"): 요소선택자의 뒤로 나오는 지정하위요소를 선택함

     1) 선택자1과 선택자2 사이 공백('선택자1 선택자2'): 선택자1의 자손 중 선택자2 모두(자손의 자손도 포함)

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>selector</title>
        <script src="script/jquery-3.6.0.js"></script>
        <script type="text/javascript">
            $(function(){ $('div h1').css('color','red'); });
        </script>
    </head>
    <body>
        <div>
            <h1>자식(손) 선택자와 후손 선택자</h1>
            <ul>
                <li><h1>Apple</h1></li>
                <li>Bag</li>
                <li>Cat</li>
                <li>Dog</li>
            </ul>
            <h1>자식(손) 선택자와 후손 선택자</h1>
        </div>
    </body>
    </html>

     

    2) 선택자1> 선택자2: 선택자1의 바로 아래 자손들 중 선택자2 모두(자손의 자손은 미포함)

    $(function(){ $('div>h1').css('color','blue'); });
    // script 안 $(function(){ $('div h1').css('color','red'); });를
    // 위의 코드로 변경함

    3) children()

    -$("요소선택자").children(): 요소선택자의 모든 자식 요소를선택

    -선택자로 선택한 태그 중 자신을 제외한 모든 자식 태그를 선택

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>children</title>
        <script src="script/jquery-3.6.0.js"></script>
        <script type="text/javascript">
            $(function(){
                $("#wrap>section").children().css(
                    {"background-color":"yellow","border":
                     "3px solid #f00","color":"red"}
                );
         // 아래와 같이 작성할 수도 있음
         // $("#wrap>section").children().css("background-color",
         // "yellow").css("border","3px solid #f00").css("color","red");
        </script>
    </head>
    <body>
        <div id="wrap">
            <h1>인접 관계 선택자</h1>
            <p>내용1</p>
            <section>
                <h1>자식 요소 선택자</h1>   
                <p>내용2</p>
            </section>
            <h1>인접 관계 선택자</h1>
        </div>
    </body>
    </html>

     

    2. prev(), next(), $(".txt+p")

    -$("요소선택자").prev(): 요소선택자의 바로 이전 요소 선택

    -$("요소선택자").next(); 요소선택자의 다음 요소를 선택

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>prev_next</title>
        <script src="script/jquery-3.6.0.js"></script>
        <script type="text/javascript">
            $(function(){
                var style_1={"background-color":"#0ff","border": "2px solid #f00"};
                var style_2={"background-color":"#ff0","border": "2px dashed #f00"};
                // 스타일 객체를 변수에 저장하여 활용함
                $(".txt").prev().css(style_1);
                $(".txt").next().next().css(style_2); 
            });
        </script>
    </head>
    <body>
        <div id="wrap">
            <h1>인접 관계 선택자</h1>
            <p>내용0</p>
            <p>내용1</p>
            <p class="txt">내용2</p>
            <p>내용3</p>
            <p>내용4</p>
        </div>
    </body>
    </html>

     

    3. prevAllI(), nextAll(), sibling()

    -$("요소선택자").prevAll(): 요소선택자의 모든 이전 요소 선택

    -$("요소선택자").nextAll(); 요소선택자의 다음 모든 요소를 선택

    -$("요소선택자").siblings(): 요소선택자의 형제요소 전체를 선택

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>all_sibling</title>
        <script src="script/jquery-3.6.0.js"></script>
        <script type="text/javascript">
                $(function(){
                var style_1={"background-color":"yellow","border": "2px solid blue"};
                var style_2={"background-color":"pink","border": "2px dashed green"};
                var style_3={"color":"red"};
                $(".txt").prevAll().css(style_1);
                $(".txt").nextAll().css(style_2);
                $(".txt").siblings().css(style_3); 
                // 자신을 제외한 모든 형제 선택자들
            })
        </script>
    </head>
    <body>
        <div id="wrap">
            <h1>인접 관계 선택자</h1>
            <p>내용0</p>
            <p>내용1</p>
            <p class="txt">내용2</p>
            <p>내용3</p>
            <p>내용4</p>
        </div>
    </body>
    </html>

     

    4. prevUntil(), nextUntil()

    -$("요소선택자").prevUntil("요소명"): 요소선택자의 요소명에 지정한 곳까지 모두 선택

    -$("요소선택자").nextUntil("h2"); 요소선택자로부터 h2 태그 요소까지 모두 선택

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>until</title>
        <script src="script/jquery-3.6.0.js"></script>
        <script type="text/javascript">
            $(function(){
                var style_1={"background-color":"#0ff","border": "2px solid #f00"};
                var style_2={"background-color":"#ff0","border": "2px dashed #f00"};
                $(".txt3").prevUntil(".title").css(style_1); 
                // .txt3 바로 위부터 .title 아래까지
                $(".txt3").nextUntil(".txt6").css(style_2); 
                // .txt3 바로 아래부터 .txt6 위까지
            })
        </script>
    </head>
    <body>
        <h1 class="title">선택자</h1>
        <p>내용1</p>
        <p>내용2</p>
        <p class="txt3">내용3</p>
        <p>내용4</p>
        <p>내용5</p>
        <p class="txt6">내용6</p>
    </body>
    </html>

     

    5. parent(), parents("div")

    -$("요소선택자").parent(): 요소선택자의 부모 요소를 선택함

    -$("요소선택자").parents(): 요소선택자의 상위요소를 모두 선택함

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>parent</title>
        <script src="script/jquery-3.6.0.js"></script>
        <script type="text/javascript">
            $(function(){
                // .txt1 의 모든 부모들
                $(".txt1").parents().css({"border":"3px dashed blue"});
                // .txt2 의 부모들 중 div 만
                $(".txt2").parents("div").css({"border":"3px solid red"	});
                // .txt1 의 부모만
                $(".txt1").parent().css({	"border":"3px solid yellow"	}); 
                });  
        </script>
    </head>
    <body>
        <h1 class="title">선택자</h1>
        <section>
            <div><p class="txt1">내용</p>	</div>
        </section>
        <section>
            <div><p class="txt2">내용</p>	</div>
        </section>
    </body>
    </html>

     

    6. closest("div")

    -$("요소선택자").closest("div"): 요소선택자의 상위 요소 중 가장 가까운 div만 선택

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>closest</title>
        <script src="script/jquery-3.6.0.js"></script>
        <script type="text/javascript">
            $(function(){
                $(".txt1").closest("div").css("border","2px solid red");
            });  
        </script>
    </head>
    <body>
        <h1 class="title">선택자</h1>
        <div style="border:3px dashed blue; padding:5px;">
            <div style="border:3px dashed black; padding:5px;">
                <p class="txt1">내용</p>
            </div> 
        </div>
    </body>
    </html>

    'VScode > JQuery' 카테고리의 다른 글

    [JQuery] button, effect  (0) 2022.09.09
    [JQuery] event  (0) 2022.09.09
    [JQuery] DOM  (0) 2022.09.09
    [JQuery] 속성/필터선택자, 배열  (0) 2022.09.09
    [JQuery] selector  (0) 2022.09.09

    댓글

Designed by Tistory.