본문 바로가기

Webstoryboy

Category

Explanation

REFERENCE/JQUERY

[jQuery] .parents()

.parents()

선택한 요소의 모든 부모 요소를 선택합니다.


.parents()

선택한 요소의 모든 부모 요소를 선택합니다.

문법(Syntax)

$("선택자").parents();
$("선택자").parents("선택자");

정의(Definition)

  • 선택한 요소의 모든 부모 요소를 선택합니다.
  • 선택한 요소의 모든 부모 요소를 선택자(태그,아이디,클래스)를 통해 선택합니다.

비교(Compare)

  • .parent() : 선택한 요소의 부모 요소만 선택합니다.
  • .parents() : 선택한 요소의 모든 부모 요소를 선택합니다.
  • .parentUntil() : 선택한 요소의 부모 요소 중 조건에 맞을 때까지 찾습니다.

Sample1

선택한 요소의 모든 부모를 선택합니다.

결과

탐색(Traversing)

  • .children() 메서드는 선택한 요소의 모든 자식을 선택합니다.
    • 첫번째 자식입니다.
    • 첫번째 자식입니다.
  • .closest() 메서드는 선택한 요소의 상위 요소 중 가장 가까운 요소를 선택합니다.
    • 첫번째 자식입니다.
    • 첫번째 자식입니다.
      • 두번째 자식입니다.
      • 두번째 자식입니다.
  • .find() 메서드는 선택한 요소에서 조건에 맞는 요소를 다시 선택합니다.
  • .next() 메서드는 선택한 요소의 다음 요소를 선택합니다.
jquery
$("li.select").parents().addClass("rLine");
html
<h3>탐색(Traversing)</h3>
<div class="list1">
    <ul>
        <li>.children() 메서드는 선택한 요소의 모든 자식을 선택합니다.
            <ul>
                <li class="select">첫번째 자식입니다.</li>
                <li>첫번째 자식입니다.</li>
            </ul>
        </li>
        <li>.closest() 메서드는 선택한 요소의 상위 요소 중 가장 가까운 요소를 선택합니다.
            <ul>
                <li>첫번째 자식입니다.</li>
                <li>첫번째 자식입니다.
                    <ul>
                        <li class="select">두번째 자식입니다.</li>
                        <li>두번째 자식입니다.</li>
                    </ul>
                </li>
            </ul>
        </li>
        <li>.find() 메서드는 선택한 요소에서 조건에 맞는 요소를 다시 선택합니다.</li>
        <li>.next() 메서드는 선택한 요소의 다음 요소를 선택합니다.</li>
    </ul>
</div>
Total
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>jQuery Sample</title>
    <style>
        li.select:before {content:'Select'; padding: 4px 4px 2px 4px; font-size: 90%; color: #3d90b7; white-space: nowrap; background-color: #e7f6fd; border-radius: 4px;border: 1px dashed #3d90b7;}
        .rLine {padding: 4px 4px 2px 10px; font-size: 90%; color: #c7254e; white-space: nowrap; background-color: #f9f2f4; border-radius: 4px; border: 1px dashed #a51a3d;}
        a {border: 1px solid #5f6368; padding: 7px 20px 5px 20px; display: inline-block; border-radius: 20px; text-decoration: none;}
    </style>
</head>
<body>
    
    <h3>탐색(Traversing)</h3>
    <div class="list1">
        <ul>
            <li>.children() 메서드는 선택한 요소의 모든 자식을 선택합니다.
                <ul>
                    <li class="select">첫번째 자식입니다.</li>
                    <li>첫번째 자식입니다.</li>
                </ul>
            </li>
            <li>.closest() 메서드는 선택한 요소의 상위 요소 중 가장 가까운 요소를 선택합니다.
                <ul>
                    <li>첫번째 자식입니다.</li>
                    <li>첫번째 자식입니다.
                        <ul>
                            <li class="select">두번째 자식입니다.</li>
                            <li>두번째 자식입니다.</li>
                        </ul>
                    </li>
                </ul>
            </li>
            <li>.find() 메서드는 선택한 요소에서 조건에 맞는 요소를 다시 선택합니다.</li>
            <li>.next() 메서드는 선택한 요소의 다음 요소를 선택합니다.</li>
        </ul>
    </div>
    
    <div class="choice1">
        <a href="#" class="off1">리셋</a>
        <a href="#" class="btn1">클릭하면 <em>선택자</em>의 모든 부모 요소를 선택합니다.</a>
    </div>
    
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
    <script>
        $(".choice1 .off1").on("click", function(e){
            e.preventDefault();
            $("*").removeClass("rLine");
        });
        $(".choice1 .btn1").on("click", function(e){
            e.preventDefault();
            $(".list1 li.select").parents().addClass("rLine");
        });
    </script>

</body>
</html>

Sample2

선택한 요소의 부모 요소 하나만 선택합니다. 부모 요소 중 조건(선택자)으로 선택할 수 있습니다.

결과

탐색(Traversing)

  • .children() 메서드는 선택한 요소의 모든 자식을 선택합니다.
    • 첫번째 자식입니다.
    • 첫번째 자식입니다.
  • .closest() 메서드는 선택한 요소의 상위 요소 중 가장 가까운 요소를 선택합니다.
    • 첫번째 자식입니다.
    • 첫번째 자식입니다.
      • 두번째 자식입니다.
      • 두번째 자식입니다.
  • .find() 메서드는 선택한 요소에서 조건에 맞는 요소를 다시 선택합니다.
  • .next() 메서드는 선택한 요소의 다음 요소를 선택합니다.
jquery
$("li.select").parents(".p").addClass("rLine");
html
<h3>탐색(Traversing)</h3>
<div class="list2">
    <ul>
        <li class="p">.children() 메서드는 선택한 요소의 모든 자식을 선택합니다.
            <ul>
                <li class="select">첫번째 자식입니다.</li>
                <li>첫번째 자식입니다.</li>
            </ul>
        </li>
        <li class="p">.closest() 메서드는 선택한 요소의 상위 요소 중 가장 가까운 요소를 선택합니다.
            <ul>
                <li>첫번째 자식입니다.</li>
                <li>첫번째 자식입니다.
                    <ul>
                        <li class="select">두번째 자식입니다.</li>
                        <li>두번째 자식입니다.</li>
                    </ul>
                </li>
            </ul>
        </li>
        <li>.find() 메서드는 선택한 요소에서 조건에 맞는 요소를 다시 선택합니다.</li>
        <li>.next() 메서드는 선택한 요소의 다음 요소를 선택합니다.</li>
    </ul>
</div>
Total
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>jQuery Sample</title>
    <style>
        li.select:before {content:'Select'; padding: 4px 4px 2px 4px; font-size: 90%; color: #3d90b7; white-space: nowrap; background-color: #e7f6fd; border-radius: 4px;border: 1px dashed #3d90b7;}
        .rLine {padding: 4px 4px 2px 10px; font-size: 90%; color: #c7254e; white-space: nowrap; background-color: #f9f2f4; border-radius: 4px; border: 1px dashed #a51a3d;}
        a {border: 1px solid #5f6368; padding: 7px 20px 5px 20px; display: inline-block; border-radius: 20px; text-decoration: none;}
    </style>
</head>
<body>
    
    <h3>탐색(Traversing)</h3>
    <div class="list2">
        <ul>
            <li class="p">.children() 메서드는 선택한 요소의 모든 자식을 선택합니다.
                <ul>
                    <li class="select">첫번째 자식입니다.</li>
                    <li>첫번째 자식입니다.</li>
                </ul>
            </li>
            <li class="p">.closest() 메서드는 선택한 요소의 상위 요소 중 가장 가까운 요소를 선택합니다.
                <ul>
                    <li>첫번째 자식입니다.</li>
                    <li>첫번째 자식입니다.
                        <ul>
                            <li class="select">두번째 자식입니다.</li>
                            <li>두번째 자식입니다.</li>
                        </ul>
                    </li>
                </ul>
            </li>
            <li>.find() 메서드는 선택한 요소에서 조건에 맞는 요소를 다시 선택합니다.</li>
            <li>.next() 메서드는 선택한 요소의 다음 요소를 선택합니다.</li>
        </ul>
    </div>
    
    <div class="choice2">
        <a href="#" class="off1">리셋</a>
        <a href="#" class="btn1">클릭하면 <em>선택자</em>의 모든 부모 요소 중 원하는 선택자만 선택합니다.</a>
    </div>
    
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
    <script>
        $(".choice2 .off1").on("click", function(e){
            e.preventDefault();
            $("*").removeClass("rLine");
        });
        $(".choice2 .btn1").on("click", function(e){
            e.preventDefault();
            $(".list2 li.select").parents(".p").addClass("rLine");
        });
    </script>

</body>
</html>

Sample3

선택한 요소의 부모 요소의 태그를 알아냅니다.

결과

탐색(Traversing)

  • .children() 메서드는 선택한 요소의 모든 자식을 선택합니다.
    • 첫번째 자식입니다.
    • 첫번째 자식입니다.
  • .closest() 메서드는 선택한 요소의 상위 요소 중 가장 가까운 요소를 선택합니다.
    • 첫번째 자식입니다.
    • 첫번째 자식입니다.
      • 두번째 자식입니다.
      • 두번째 자식입니다.
  • .find() 메서드는 선택한 요소에서 조건에 맞는 요소를 다시 선택합니다.
  • .next() 메서드는 선택한 요소의 다음 요소를 선택합니다.
jquery
var parent = $(".select").parents().map(function() {
    return this.tagName;
}).get().join( ", " );

$(".choice3 .btn1").on("click", function(e){
    e.preventDefault();
    $( ".choice3 .btn1" ).append("" + parent + "");
});
html
<h3>탐색(Traversing)</h3>
<div class="list3">
    <ul>
        <li>.children() 메서드는 선택한 요소의 모든 자식을 선택합니다.
            <ul>
                <li>첫번째 자식입니다.</li>
                <li>첫번째 자식입니다.</li>
            </ul>
        </li>
        <li>.closest() 메서드는 선택한 요소의 상위 요소 중 가장 가까운 요소를 선택합니다.
            <ul>
                <li>첫번째 자식입니다.</li>
                <li>첫번째 자식입니다.
                    <ul>
                        <li class="select">두번째 자식입니다.</li>
                        <li>두번째 자식입니다.</li>
                    </ul>
                </li>
            </ul>
        </li>
        <li>.find() 메서드는 선택한 요소에서 조건에 맞는 요소를 다시 선택합니다.</li>
        <li>.next() 메서드는 선택한 요소의 다음 요소를 선택합니다.</li>
    </ul>
</div>
Total
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>jQuery Sample</title>
    <style>
        li.select:before {content:'Select'; padding: 4px 4px 2px 4px; font-size: 90%; color: #3d90b7; white-space: nowrap; background-color: #e7f6fd; border-radius: 4px;border: 1px dashed #3d90b7;}
        .rLine {padding: 4px 6px 2px 6px; font-size: 90%; color: #c7254e; white-space: nowrap; background-color: #f9f2f4; border-radius: 4px; border: 1px dashed #a51a3d;}
        a {border: 1px solid #5f6368; padding: 7px 20px 5px 20px; display: inline-block; border-radius: 20px; text-decoration: none;}
    </style>
</head>
<body>
    
    <h3>탐색(Traversing)</h3>
    <div class="list3">
        <ul>
            <li>.children() 메서드는 선택한 요소의 모든 자식을 선택합니다.
                <ul>
                    <li>첫번째 자식입니다.</li>
                    <li>첫번째 자식입니다.</li>
                </ul>
            </li>
            <li>.closest() 메서드는 선택한 요소의 상위 요소 중 가장 가까운 요소를 선택합니다.
                <ul>
                    <li>첫번째 자식입니다.</li>
                    <li>첫번째 자식입니다.
                        <ul>
                            <li class="select">두번째 자식입니다.</li>
                            <li>두번째 자식입니다.</li>
                        </ul>
                    </li>
                </ul>
            </li>
            <li>.find() 메서드는 선택한 요소에서 조건에 맞는 요소를 다시 선택합니다.</li>
            <li>.next() 메서드는 선택한 요소의 다음 요소를 선택합니다.</li>
        </ul>
    </div>
    
    <div class="choice3">
        <a href="#" class="off1">리셋</a>
        <a href="#" class="btn1">클릭하면 <em>선택자</em>의 모든 부모 태그는 : </a>
    </div>
    
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
    <script>
        $(".choice3 .off1").on("click", function(e){
            e.preventDefault();
            $(".choice3 .btn1").find("span").remove();
        });
        
        var parent = $(".list3 .select").parents()
              .map(function() {
                return this.tagName;
              }).get().join( ", " );
        
        $(".choice3 .btn1").on("click", function(e){
            e.preventDefault();
            $( ".choice3 .btn1" ).append( "<span class='rLine'>" + parent + "</span>" );
        });
    </script>

</body>
</html>

호환성(Compatibility)

메서드 버전 크롬 아이콘 파이어폭스 아이콘 사파리 아이콘 오페라 아이콘 네이버 웨일 익스플로러6 아이콘6 익스플로러7 아이콘7 익스플로러8 아이콘8 익스플로러9 아이콘9 익스플로러10 아이콘10 익스플로러11 아이콘11 엣지 아이콘 안드로이드 아이콘 ios 아이콘
children() jQeury 1.x 버전 사용가능 사용가능 사용가능 사용가능 사용가능 사용가능 사용가능 사용가능 사용가능 사용가능 사용가능 사용가능 사용가능 사용가능
jQeury 2.x 버전 사용가능 사용가능 사용가능 사용가능 사용가능 사용안됨 사용안됨 사용안됨 사용가능 사용가능 사용가능 사용가능 사용가능 사용가능
jQeury 3.x 버전 사용가능 사용가능 사용가능 사용가능 사용가능 사용안됨 사용안됨 사용안됨 사용가능 사용가능 사용가능 사용가능 사용가능 사용가능

AD

comments