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

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

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

jQuery ν•„ν„° μ„ νƒμž

μ œμ΄μΏΌλ¦¬μ—μ„œ μ‚¬μš©λ˜λŠ” ν•„ν„° μ„ νƒμžμ— λŒ€ν•΄ μ‚΄νŽ΄λ΄…μ‹œλ‹€.
μ„ νƒμžμ— ' : 'κ°€ λΆ™μŠ΅λ‹ˆλ‹€.


ν•„ν„° μ„ νƒμž

μ„ νƒμž μ’…λ₯˜ μ„ νƒμž μ„€λͺ…
:even $("tr:even") tr μš”μ†Œ 쀑 짝수 ν–‰λ§Œ 선택
:odd $("tr:odd") tr μš”μ†Œ 쀑 ν™€μˆ˜ ν–‰λ§Œ 선택
:first $("tr:first") 첫 번째 td μš”μ†Œλ₯Ό 선택
:last $(":header") ν—€λ”©(h1~h6) μš”μ†Œλ₯Ό 선택
:eq() $("li:eq(0)") indexκ°€ 0인 li μš”μ†Œλ₯Ό 선택. indexλŠ” 0번이 첫 번째 μš”μ†Œμž…λ‹ˆλ‹€.
:gt() $("li:gt(0)") indexκ°€ 0보닀 큰 li μš”μ†Œλ“€μ„ 선택
:lt() $("li:lt(2)") indexκ°€ 2보닀 μž‘μ€ li μš”μ†Œλ“€μ„ 선택
:not() $("li:not(.bg)") li μš”μ†Œ μ€‘μ—μ„œ classλͺ… bgκ°€ μ•„λ‹Œ li μš”μ†Œλ₯Ό 선택
:root $(":root") html을 μ˜λ―Έν•¨
:animated $(":animated") μ›€μ§μ΄λŠ” μš”μ†Œλ₯Ό 선택

예제 μ½”λ“œ

<!DOCTYPE html> 
<html lang="ko"> 
<head> 
    <meta charset="UTF-8"> 
    <title>ν•„ν„° μ„ νƒμž<title> 
    <style> 
        table {
            border-collapse: collapse;
            width: 100%;
        }
        td {
            border: 1px solid #333;
        }
        li {
            color: white;
            margin: 5px;
        }
    </style> 
    <script src="jquery-3.3.1.min.js"></script> 
    <script> 
        $(document).ready(function() {
            $("tr:even").css("background", "red");
            $("tr:odd").css("background", "orange");
            $("td:first").css("background", "yellow");
            $("td:last").css("background", "green");
            $(":header").css("background", "blue");
            $("li:eq(0)").css("background", "navy");
            $("li:gt(0)").css("background", "purple");
            $("li:lt(3)").css("border", "4px solid gray");
            $(":root").css("background", "lightgray");
            (function upDown() {
                $("h2").slideToggle(2000,upDown);
            })();
             $(":animated").css("border","4px solid darkred");
        });
    </script> 
</head> 
<body> 
    <h1>제λͺ©1</h1>
    <h2>제λͺ©2</h2>
    <table>
        <caption>κΈ°λ³Έ ν•„ν„° μ„ νƒμž</caption>
        <colgroup>
            <col>
            <col>
            <col>
        </colgroup>
        <tbody>
            <tr>
                <td>1</td>
                <td>2</td>
                <td>3</td>
            </tr>
            <tr>
                <td>4</td>
                <td>5</td>
                <td>6</td>
            </tr>
            <tr>
                <td>7</td>
                <td>8</td>
                <td>9</td>
            </tr>
            <tr>
                <td>10</td>
                <td>11</td>
                <td>12</td>
            </tr>
        </tbody>
    </table>
    <ul>
        <li class="bg">λ‚΄μš©1</li>
        <li class="bg">λ‚΄μš©2</li>
        <li class="bg">λ‚΄μš©3</li>
        <li>λ‚΄μš©4</li>
    </ul>
</body> 
</html>

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


μžμ‹ ν•„ν„° μ„ νƒμž

: 'child'κ°€ 뢙은 μ„ νƒμžλŠ” μš”μ†Œκ°€ 순차적으둜 λ‚˜μ—΄λ˜μ–΄ μžˆμ„ λ•Œ μ‚¬μš©ν•˜λ©°, "of-type"이 뢙은 μ„ νƒμžλŠ” μš”μ†Œκ°€ 순차적으둜 λ‚˜μ—΄λ˜μ–΄ μžˆμ§€ μ•Šμ•„λ„ 동일 μš”μ†ŒλΌλ©΄ 선택 κ°€λŠ₯ν•˜λ‹€.

μ„ νƒμž μ’…λ₯˜ μ„ νƒμž μ„€λͺ…
:first-child $("span:first-child") 첫 번째 span μš”μ†Œλ₯Ό 선택
:last-child $("span:last-child") λ§ˆμ§€λ§‰ span μš”μ†Œλ₯Ό 선택
:first-of-type $("span:first-of-type") span μš”μ†Œ μ€‘μ—μ„œ 첫 번째 span μš”μ†Œλ₯Ό 선택
:last-of-type $("span:last-of-type") span μš”μ†Œ μ€‘μ—μ„œ λ§ˆμ§€λ§‰ span μš”μ†Œλ₯Ό 선택
:nth-child() $("span:nth-child(2)") 두 번째 span μš”μ†Œλ₯Ό 선택함.
nth-child(2n)은 2, 4, 6, β€¦λ²ˆμ§Έ μš”μ†Œλ₯Ό μ„ νƒν•˜κ³ ,
nth-child(2n+1)은 1, 3, 5, β€¦λ²ˆμ§Έ μš”μ†Œλ₯Ό 선택함.
:nth-last-child() $("span:nth-last-child(2)") λ§ˆμ§€λ§‰μ—μ„œ 두 번째 span μš”μ†Œλ₯Ό 선택
:nth-of-type() $("span:nth-of-type(2)") span μš”μ†Œ μ€‘μ—μ„œ 두 번째 span μš”μ†Œλ₯Ό 선택
:nth-last-of-type() $("span:nth-last-of-type(2)") span μš”μ†Œ μ€‘μ—μ„œ λ§ˆμ§€λ§‰μ—μ„œ 두 번째 span μš”μ†Œλ₯Ό 선택
:only-child $("div > span:only-child") div의 μžμ‹ μš”μ†Œμ—μ„œ 였직 span μš”μ†Œκ°€ ν•˜λ‚˜λ§Œ μžˆλŠ” span μš”μ†Œλ₯Ό 선택
:only-of-type $("div > span:only-of-type") div의 μžμ‹ μš”μ†Œμ—μ„œ span μš”μ†Œκ°€ ν•˜λ‚˜λ§Œ μžˆλŠ” span μš”μ†Œλ₯Ό 선택

예제 μ½”λ“œ

<!DOCTYPE html> 
<html lang="ko"> 
<head> 
    <meta charset="UTF-8"> 
    <title>μžμ‹ ν•„ν„° μ„ νƒμž<title> 
    <style> 
        span {
            margin: 5px;
            display: inline-block;
        }
    </style> 
    <script src="jquery-3.3.1.min.js"></script> 
    <script> 
        $(document).ready(function() {
            $("#m1 > span:first-child").css("border", "2px solid red");
            $("#m1 > span:last-child").css("border", "2px solid red");
            $("#m2 > span:first-of-type").css("border", "2px solid orange");
            $("#m2 > span:last-of-type").css("border", "2px solid orange");
            $("#m3 > span:nth-child(1)").css("border", "2px solid yellow");
            $("#m3 > span:nth-last-child(1)").css("border", "2px solid yellow");
            $("#m4 > span:nth-of-type(1)").css("border", "2px solid green");
            $("#m4 > span:nth-last-of-type(1)").css("border", "2px solid green");
            $("#m5 > span:only-child").css("border", "2px solid blue");
            $("#m6 > span:only-of-type").css("border", "2px solid navy");
        });
    </script> 
</head> 
<body> 
    <div id="m1">
        <span>λ‚΄μš©1_1</span>
        <span>λ‚΄μš©1_2</span>
        <span>λ‚΄μš©1_3</span>
    </div>
    <div id="m2">
        <strong>λ‚΄μš©2_1</strong>
        <span>λ‚΄μš©2_2</span>
        <strong>λ‚΄μš©2_3</strong>
        <span>λ‚΄μš©2_4</span>
    </div>
    <div id="m3">
        <span>λ‚΄μš©3_1</span>
        <span>λ‚΄μš©3_2</span>
        <span>λ‚΄μš©3_3</span>
    </div>
    <div id="m4">
        <strong>λ‚΄μš©4_1</strong>
        <span>λ‚΄μš©4_2</span>
        <strong>λ‚΄μš©4_3</strong>
        <span>λ‚΄μš©4_4</span>
        <strong>λ‚΄μš©4_5</strong>
        <span>λ‚΄μš©4_6</span>
    </div>
    <div id="m5">
        <span>λ‚΄μš©5_1</span>
    </div>
    <div id="m6">
        <strong>λ‚΄μš©6_1</strong>
        <span>λ‚΄μš©6_2</span>
    </div>
</body> 
</html>

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


μ½˜ν…μΈ  ν•„ν„° μ„ νƒμž

μ„ νƒμž μ’…λ₯˜ μ„ νƒμž μ„€λͺ…
:contains() $("p:contains('html')") p μš”μ†Œ μ€‘μ—μ„œ 'html' ν…μŠ€νŠΈλ₯Ό ν¬ν•¨ν•˜κ³  μžˆλŠ” p μš”μ†Œλ₯Ό 선택
:empty $("div:empty") div μš”μ†Œ μ€‘μ—μ„œ μžμ‹ μš”μ†Œκ°€ μ—†λŠ” div μš”μ†Œλ₯Ό 선택
:parent $("span:parent") span μš”μ†Œ μ€‘μ—μ„œ μžμ‹ μš”μ†Œκ°€ μžˆλŠ” span μš”μ†Œλ₯Ό 선택
:has() $("section:has(article)") section μš”μ†Œ μ€‘μ—μ„œ article을 ν•˜μœ„ μš”μ†Œλ‘œ 가지고 μžˆλŠ” section μš”μ†Œλ₯Ό 선택

예제 μ½”λ“œ

<!DOCTYPE html> 
<html lang="ko"> 
<head> 
    <meta charset="UTF-8"> 
    <title>μžμ‹ ν•„ν„° μ„ νƒμž<title> 
    <style> 
        * {
            margin: 5px;
        }
        #m1 > p:last-child{
            height: 20px;
        }
        span {
            display: inline-block;
            height: 20px;
        }
    </style> 
    <script src="jquery-3.3.1.min.js"></script> 
    <script> 
        $(document).ready(function() {
            $("#m1 > p:contains('html')").css("border","4px solid red");
            $("#m1 > p:empty").css("border","4px solid orange");
            $("#m2 > span:parent").css("border","4px solid yellow");
            $("#m3 > section:has(article)").css("border","4px solid green");
        });
    </script> 
</head> 
<body> 
    <div id="m1">
        <p>html, css, javascript</p>
        <p>html5와 μ›Ήν‘œμ€€</p>
        <p></p>
    </div>
    <div id="m2">
        <span></span>
        <span>λ‚΄μš©1</span>
    </div>
    <div id="m3">
        <section>
            <article>λ‚΄μš©2_1</article>
        </section>
        <section>
            <div>
                <article>λ‚΄μš©2_2</article>
            </div>
        </section>
    </div>
</body> 
</html>

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


폼 ν•„ν„° μ„ νƒμž

μ„ νƒμž μ’…λ₯˜ μ„ νƒμž μ„€λͺ…
:text $("input:text") <input type="text"> μš”μ†Œλ₯Ό 선택
:password $("input:password") <input type="password"> μš”μ†Œλ₯Ό 선택
:image $("input:image") <input type="image"> μš”μ†Œλ₯Ό 선택
:file $("input:file") input type="file"> μš”μ†Œλ₯Ό 선택
:button $(":button") <input type="button">, <button> μš”μ†Œλ₯Ό 선택
:checkbox $("input:checkbox") <input type="techeckboxxt"> μš”μ†Œλ₯Ό 선택
:radio $("input:radio") <input type="radio"> μš”μ†Œλ₯Ό 선택
:submit $("input:submit") <input type="submit"> μš”μ†Œλ₯Ό 선택
:reset $("input:reset") <input type="reset"> μš”μ†Œλ₯Ό 선택
:input $(":input") λͺ¨λ“  <input> μš”μ†Œλ₯Ό 선택
:checked $("input:checked") <input> μš”μ†Œμ— checked 속성이 μžˆλŠ” μš”μ†Œλ₯Ό 선택
:selected $("option:selected") <option> μš”μ†Œμ— selected 속성이 μžˆλŠ” μš”μ†Œλ₯Ό 선택
:focus $("input:focus") ν˜„μž¬ <input>에 ν¬μ»€μŠ€κ°€ μžˆλŠ” μš”μ†Œλ₯Ό 선택
:disabled $("input:disabled") <input> μš”μ†Œμ— disabled 속성이 μžˆλŠ” μš”μ†Œλ₯Ό 선택
:enabled $("input:enabled") <input> μš”μ†Œ 쀑 disabledκ°€ μ•„λ‹Œ μš”μ†Œλ₯Ό 선택

예제 μ½”λ“œ

<!DOCTYPE html> 
<html lang="ko"> 
<head> 
    <meta charset="UTF-8"> 
    <title>폼 ν•„ν„° μ„ νƒμž<title> 
    <script src="jquery-3.3.1.min.js"></script> 
    <script> 
        $(document).ready(function() {
            $("input:text").css("background","red");
            $("input:password").css("background","orange");
            $(":button").css("background","yellow");
            $("input:checked + label").css("background","green");
            $("option:selected").css("color","blue");
            $("textarea:disabled").css("background","pink");
        });
    </script> 
</head> 
<body> 
    <div><input type="text"></div>
    <div><input type="password"></div>
    <div><button>확인</div>
    <div><input type="checkbox" id="css" checked="checked"><label for="css">css</label></div>
    <div>
        <select>
            <option>κ³Όλͺ©μ„ νƒ</option>
            <option>javascript</option>
            <option selected="selected">jQuery</option>
        </select>
        <textarea cols="20" id="" rows="5" disabled="disabled">javascript</textarea>
    </div>
</body> 
</html>

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


κ°€μ‹œμ„± ν•„ν„° μ„ νƒμž

μ„ νƒμž μ’…λ₯˜ μ„ νƒμž μ„€λͺ…
:hidden div:hidden div μš”μ†Œ 쀑 hidden인 μš”μ†Œλ₯Ό 선택
:visible div:visible div μš”μ†Œ 쀑 visible μš”μ†Œλ₯Ό 선택

예제 μ½”λ“œ

<!DOCTYPE html> 
<html lang="ko"> 
<head> 
    <meta charset="UTF-8"> 
    <title>κ°€μ‹œμ„± ν•„ν„° μ„ νƒμž<title> 
    <style> 
        #vis {
            display: none;
        }
    </style>
    <script src="jquery-3.3.1.min.js"></script> 
    <script> 
        $(document).ready(function() {
            console.log($("div:hidden").text());
            $("div:visible").css("background","orange");
        });
    </script> 
</head> 
<body> 
    <div id="vis">λ‚΄μš©1</div>
    <div>λ‚΄μš©2</div>
</body> 
</html>

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

λ‚΄μš©1은 검사(F12)의 μ½˜μ†”μ°½μ—μ„œλ§Œ 확인 κ°€λŠ₯ν•˜λ‹€.

λ°˜μ‘ν˜•

λŒ“κΈ€


Reference Book

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