엘리먼트 제어

치로·2024년 8월 28일

1. 자식으로 삽입

: append(), appendTo(), html(), prepend(), preopendTo(), text()
https://api.jquery.com/category/manipulation/dom-insertion-inside/

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
</head>
<body>
    <p id="user_p">
        jQuery는 : 
    </p>
    <script>
        $("p").append("<strong>재미있다.</strong>");
    </script>
</body>
</html>

2. 형제로 삽입

: after(), before(), insertAfter(), insertBefore()

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
</head>
<body>
    <p>
        jQuery는 : 
    </p>
    <script>
        $("p").after("<strong>재미있다.</strong>");
    </script>
</body>
</html>

3. 부모로 감싸기

: unwrap(), wrap(), wrapAll(), wrapInner()

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
    <style>
        div {
            border:2px blue solid;
            margin:2px;
            padding:2px;
        }
        p {
            background:yellow;
            margin:2px;
            padding:2px;
        }
        strong {
            color:red;
        }
</style>
</head>
<body>
    <span>Span text</span>
    <strong>What about me?</strong>
    <span>Another one</span>
    <script>
        $('span').wrap("<div><div><p><b></b></p></div></div>");
    </script>
</body>
</html>

4. 삭제

: detach(), empty(), remove(), unwrap()

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
    <style>
        p   {
            background-color: powderblue;
            margin: 6px;
        }
    </style>
<body>
    <p>Hellod</p>
    how are
    <p>you?</p>
    <button>remove()</button>
    <script>
        $("button").click(function(){
            $("p").remove();
        });
    </script>
</body>
</html>

5. 치환

: replaceAll(), replaceWith()
https://api.jquery.com/replaceAll/

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
    <style>
        p   {
            background-color: powderblue;
            margin: 6px;
        }
    </style>
</head>
<body>
    <p>Hellod</p>
    <p>javascript</p>
    <p>world</p>
    <script>
        $("<b>jQuery</b>").replaceAll("p");
    </script>
</body>
</html>

6. 클래스

: addClass(), haClass(), removeClass(), toggleClass()

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
    <style>
        p {
        margin: 4px;
        font-size:16px;
        font-weight:bolder;
        cursor:pointer;
        }
        .blue {
            color:blue;
        }
        .highlight {
            background:yellow;
        }
    </style>
</head>
<body>
    <p class="blue">click to toggle</p>
    <p class="blue highlight">click to toggle</p>
    <p class="blue">click to toggle</p>
    <p class="blue">click to toggle</p>
    <script>
        $("p").click(function(){
            $(this).toggleClass("highlight");
        });
    </script>
</body>
</html>

7. 속성 제어

: attr(), prop(), removeAttr(), removeProp(), val()

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
    <style>
        p {
            color: blueviolet;
            margin:  8px;;
        }
    </style>
</head>
<body>
    <input type="text" value="some text">
    <p></p>
    <script>
        $('input').keyup(function(){
            // 값을 획득
            let value = $(this).val();
            $("p").text(value);
        });
    </script>
</body>
</html>

8. 탐색

http://api.jquery.com/category/traversing/

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
</head>
<body>
    <ul id="first">
        <li class="foo">list item 1</li>
        <li>list item 2</li>
        <li class="bar">list item 3</li>
    </ul>
    <ul id="second">
        <li class="foo">list item 1</li>
        <li>list item 2</li>
        <li class="bar">list item 3</li>
    </ul>
    <script>
        $("#first").find('.foo').css('background-color', 'tomato').end()
        .find('.bar').css('background-color', 'green')
    </script>
</body>
</html>

0개의 댓글