λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
jQuery

[JavaScript] jQuery(제이쿼리) - 탐색 μ„ νƒμž

by 코딩곡책 2022. 8. 30.
λ°˜μ‘ν˜•

jQuery 탐색 μ„ νƒμž

μ œμ΄μΏΌλ¦¬μ—μ„œ μ‚¬μš©λ˜λŠ” 탐색 μ„ νƒμžμ— λŒ€ν•΄ μ‚΄νŽ΄λ΄…μ‹œλ‹€.


탐색 μ„ νƒμž

μ„ νƒμž μ’…λ₯˜ μ„ νƒμž μ„€λͺ…
children() $('div').children() div μš”μ†Œμ˜ μžμ‹ μš”μ†Œλ₯Ό 선택
parent() $('p').parent() p μš”μ†Œμ˜ λΆ€λͺ¨ μš”μ†Œλ₯Ό 선택
parents() $('p').parents('div') p μš”μ†Œμ˜ λΆ€λͺ¨κ°€ λ˜λŠ” λͺ¨λ“  div μš”μ†Œλ₯Ό 선택
closest() $('p').closest('div') p μš”μ†Œμ˜ λΆ€λͺ¨κ°€ λ˜λŠ” 첫번째 div μš”μ†Œλ₯Ό 찾음
next() $('div.m').next() div.m μš”μ†Œμ˜ λ‹€μŒ μš”μ†Œλ₯Ό 선택
nextAll() $('div.m').nextAll() div.mμš”μ†Œμ˜ λ‹€μŒ μš”μ†Œλ“€μ„ λͺ¨λ‘ 선택
nextUntil() $('div.m').nextUntil('p') div.m λ‹€μŒ μš”μ†ŒλΆ€ν„° p μš”μ†Œ μ „κΉŒμ§€μ˜ μš”μ†Œλ₯Ό 선택
prev() $('div.m').prev() div.m μš”μ†Œμ˜ 이전 μš”μ†Œλ₯Ό 선택
prevAll() $('div.m').prevAll() div.m μš”μ†Œμ˜ 이전 μš”μ†Œλ“€μ„ λͺ¨λ‘ 선택
prevUntil() $('div.m').prevUntil() div.m μš”μ†Œμ˜ 이전 μš”μ†ŒλΆ€ν„° p μš”μ†Œ λ‹€μŒ μš”μ†ŒκΉŒμ§€λ₯Ό 선택
siblings() $('div').siblings('p') div μš”μ†Œμ˜ ν˜•μ œ μš”μ†Œ 쀑 p μš”μ†Œλ₯Ό 선택
find() $('div').find('span') div μš”μ†Œμ˜ ν•˜μœ„ μš”μ†Œ 쀑 span μš”μ†Œλ₯Ό 선택
filter() $('div').filter('.m') div μš”μ†Œ 쀑 classκ°€ m인 μš”μ†Œλ₯Ό 선택
not() $('div').not('.m') div μš”μ†Œ 쀑 classκ°€ m이 μ•„λ‹Œ μš”μ†Œλ₯Ό 선택
has() $('div').has('span') div μš”μ†Œ 쀑 span μš”μ†Œλ₯Ό ν¬ν•¨ν•˜κ³  μžˆλŠ” μš”μ†Œλ₯Ό 선택
eq() $('div').eq(0) div μš”μ†Œ 쀑 indexκ°€ 0인 μš”μ†Œλ“€μ„ 선택함, index 0λ²ˆμ€ 첫 번째 μš”μ†Œμž„.
gt() $('div').gt(0) indexκ°€ 0보닀 큰 div μš”μ†Œλ“€μ„ 선택
lt() $('div').lt(3) indexκ°€ 3보닀 μž‘μ€ div μš”μ†Œλ“€μ„ 선택

예제 μ½”λ“œ

<!DOCTYPE html> 
<html lang="ko"> 
<head> 
    <meta charset="UTF-8"> 
    <title>탐색 μ„ νƒμž<title> 
    <style> 
        * {
            margin: 5px;
        }
    </style> 
    <script src="jquery-3.3.1.min.js"></script> 
    <script> 
        $(document).ready(function() {
            $("#m1").children().css("border","2px solid red");
            $("#m2").children().children("span").css("border","2px solid orange");
            $("#m3 span").closest("div").css("border","2px solid yellow");
            $("#m4 > span.m").nextUntil("em").css("border","2px solid green");
            $("#m5 > span").filter(".m").css("border","2px solid blue");
            $("#m6 > div").has("span").css("border","2px solid navy");
        });
    </script> 
</head> 
<body> 
    <div id="m1">
        <a href="#">λ‚΄μš©1_1</a><span>λ‚΄μš©1_2</span>
    </div>
    <div id="m2">
        <div>
           <a href="#">λ‚΄μš©2_1</a><span>λ‚΄μš©2_2</span>
        </div>
    </div>
    <div id="m3">
        <div><span>λ‚΄μš©3_1</span></div>
    </div>
    <div id="m4">
        <span class="m">λ‚΄μš©4_1</span><span>λ‚΄μš©4_2</span><span>λ‚΄μš©4_3</span><em>λ‚΄μš©4_4</em>
    </div>
    <div id="m5">
        <span class="m">λ‚΄μš©5_1</span><span>λ‚΄μš©5_2</span><span>λ‚΄μš©5_3</span>
    </div>
    <div id="m6">
        <div><span>λ‚΄μš©6_1</span></div>
        <div>λ‚΄μš©6_2</div>
    </div>
</body> 
</html>

μ½”λ“œνŽœ κ²°κ³Ό


기타 탐색 μ„ νƒμž

μžμ‹ ν•„ν„° μ„ νƒμžλŠ” κΈ°μ‘΄ CSSμ—μ„œμ˜ nth-child 방식과 λΉ„μŠ·ν•˜λ‹€.

μ„ νƒμž μ’…λ₯˜ μ„ νƒμž μ„€λͺ…
add() $('div').add('p')
div μš”μ†Œμ™€ p μš”μ†Œλ₯Ό 선택
addBack() $('div').children('p').addBack()
p μš”μ†Œμ™€ 이전 μ„ νƒμš”μ†Œ divλ₯Ό 선택
end() $('div').find('span').css(...).end().find("em").css(...)
$('div').find('span').css(...)의 싀행이 λλ‚˜λ©΄ 처음 μ„ νƒμž $('div')둜 λ‹€μ‹œ λŒμ•„μ™€
$('div').find('em').css(...)κ°€ μ‹€ν–‰
is() μ„ νƒν•œ μš”μ†Œλ₯Ό νŒλ³„ν•΄ μ£ΌλŠ” μ„ νƒμžλ‘œ 보톡 if 문의 쑰건식에 μ‚¬μš©λ©λ‹ˆλ‹€.
if("div").children().is("p")) {
γ€€γ€€console.log("pμš”μ†Œκ°€ λ§žμŠ΅λ‹ˆλ‹€.");
}

예제 μ½”λ“œ

<!DOCTYPE html> 
<html lang="ko"> 
<head> 
    <meta charset="UTF-8"> 
    <title>기타 탐색 μ„ νƒμž<title> 
    <style> 
        * {
            margin: 5px;
        }
    </style> 
    <script src="jquery-3.3.1.min.js"></script> 
    <script> 
        $(document).ready(function() {
            $("#m1 > div").add("#m1 > p").css("border", "2px solid red")
            $("#m2").children("p").addBack().css("border","2px solid orange");
            $("#m3").find("span").css("border","2px solid yellow").end().find("em").css("border","2px solid green");
            if($("#m4").children().is("p")){
                console.log("p μš”μ†Œκ°€ μ‘΄μž¬ν•©λ‹ˆλ‹€.");
            }
        });
    </script> 
</head> 
<body> 
    <div id="m1">
        <div>λ‚΄μš©1_1</div><p>λ‚΄μš©1_2</p>
    </div>
    <div id="m2">
        <p>λ‚΄μš©2</p>
    </div>
    <div id="m3">
        <span>λ‚΄μš©3_1</span><em>λ‚΄μš©3_2</em>
    </div>
    <div id="m4">
        <p>λ‚΄μš©4</p>
    </div>
</body> 
</html>

μ½”λ“œνŽœ κ²°κ³Ό

λ°˜μ‘ν˜•

λŒ“κΈ€


Reference Book

JavaScript
HTML
CSS
κ΄‘κ³  μ€€λΉ„μ€‘μž…λ‹ˆλ‹€.