요소에 내용 또는 값 얻어오기/세팅하기
        1) 요소에 작성된 내용만 얻어오기/세팅하기 
        [JS]     : innerText            --> get 
                   innerText = "내용";  --> set 
        [jQuery] : .text()              --> get 
                   .text("내용");       --> set 
        2) 요소에 작성된 HTML코드 자체를 얻어오기/세팅하기 
        [JS]     : innerHTML                --> get       
                   innerHTML = "HTML코드";  --> set  
        [jQuery] : .html()                  --> get     
                   .html("HTML코드");       --> set 
        3) input 태그의 값 얻어오기/세팅하기 
        [JS]     : value         --> get  
                   value = "값"; --> set 
         
        [jQuery] : val();        --> get 
                   val("값");    --> set
jQuery로 요소 생성 및 추가하기
        
p 태그요소 생성하기 
        [JS]     : document.createElement("p"); 
        [jQuery] : $("<p>"); 
         
        요소에 속성 추가/제거하기 
        [JS]     :  요소.setAttribute("속성명", "속성값");  // 추가 
                    요소.removeAttribute("속성명");         // 제거 
                        
        [jQuery] : 요소.attr("속성명", "속성값");           // 추가 
                   요소.attr("속성명");                     // 속성값 얻어오기 
                   요소.removeAttr("속성명");               // 제거 
                   요소.prop("속성명", "속성값");           // 추가 
                   요소.prop("속성명");                     // true / false 
                   요소.removeProp("속성명");               // 제거 (보류) 
        * Attribute -> 속성명 = "속성값" 
        * Property  -> 속성명 
        prop("속성명")  에서 "속성명"은 checked, selected, disabled, enabled 등과 같은 것으로써 
        속성명만 작성되어 있기 때문에 있다(true)/없다(false)로 나타낸다. 
        -> 속성명만 작성되는 속성들 이외에는 속성값을 반환한다. 
        HTML문에서 요소 삽입하기 
        [JS]     : 부모.append(요소 | 노드, ...)    // 부모의 마지막 자식 요소로 삽입 
                   부모.appendChild(노드)           // 부모의 마지막 자식 요소로 삽입 
                 
                   부모.prepend(요소 | 노드, ...)   // 부모의 첫번째 자식 요소로 삽입 
                   부모.prependChild(노드)          // 부모의 첫번째 자식 요소로 삽입 
        [jQuery] : $(부모).append(자식);            // 부모의 마지막 자식 요소로 삽입 
                   $(자식).appendTo(부모);          // 부모의 마지막 자식 요소로 삽입 
                 
                   $(부모).prepend(자식);           // 첫 번째 자식으로 삽입 
                   $(자식).prependTo(부모);         // 첫 번째 자식으로 삽입 
                   $(A).after(B);                   // A요소 뒤에 B요소 삽입(형제) 
                   $(B).insertAfter(A);             // A요소 뒤에 B요소 삽입(형제) 
                    
                   $(A).before(B);                   // A요소 앞에 B요소 삽입(형제) 
                   $(B).insertBefore(A);             // A요소 앞에 B요소 삽입(형제)
<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>jQuery 메소드</title>
    <style>
        div{
            box-sizing: border-box;
            border : 1px solid black;
        }
        #wrapper{
            width : 300px;
            height: 800px;
        }
        #base{
            height: 300px;
            overflow: auto;
            /* 내용이 요소의 크기를 넘어서면 자동으로 스크롤을 추가 */
        }
        .box{
            width: 30px;
            height: 30px;
            background-color: lightgreen;
            text-align: center;
            line-height: 28px;
            display: inline-block;
        }
        .btn{ background-color: skyblue;}
    </style>
</head>
<body>
    <h1>요소에 내용 또는 값 얻어오기/세팅하기</h1>
    
    <div id="area">
        <button>테스트 버튼</button>
    </div>
    <button id="btn1">확인</button>
    <hr>
    <input type="checkbox" id="test" class="cls">
    <hr>
	<h1>jQuery로 요소 생성 및 추가하기</h1>
    <button id="add1">박스 추가</button>  <!-- #base 마지막 자식 -->
    <button id="add2">버튼 추가</button>  <!-- #base 첫번째 자식 -->
    <button id="add3">checkbox 추가</button>  <!-- #base 마지막 자식 -->
    <button id="add4">이전 형제 추가</button>  <!-- #base 이전 형제 -->
    <button id="add5">다음 형제 추가</button>  <!-- #base 다음 형제 -->
    <div id="wrapper">
        <div id="base"></div>
    </div>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>
    <script src="js/08_jQuery메소드1.js"></script>
</body>
</html>
// 요소에 내용 또는 값 얻어오기/ 세팅하기
document.getElementById("btn1").addEventListener("click",function(){
    console.log( $("#area").text() );
    console.log( $("#area").html() );
    // #area1 내부 내용 초기화
    // document.getElementById("area").innerHTML = ""; // JS
    // $("#area").html(""); //jQuery
    $("#area").html("<h3> 새롭게 생성된 요소</h3>");
});
// 요소 생성, 속성 추가, HTML 화면 삽입
// 박스 추가
let count = 1;
$("#add1").on("click", function(){
    // 1) div 요소 생성
    const div = $("<div>");
    // 2) 생성된 div 요소에 box class 추가
    div.attr("class", "box");
    // 3) div에 숫자 추가
    div.text(count++);
    // 4) #base의 마지막 자식으로 추가
    $("#base").append(div);
});
// 버튼 추가
$("#add2").on("click", function(){
    // 1) 버튼 요소 생성
    const btn = $("<button>"); // 시작태그만 적어도 종료 태그도 같이 생성된다
    // 2) 클래스 추가
    btn.attr("class", "box btn");
    // btn.attr("class", "btn"); // 앞서 작성된  box 클래스 추가 내용을 덮어씀
    // btn.addClass("btn"); // addClass("클래스명") : 클래스 추가
                        // <-> removeClass("클래스명") : 일치하는 클래스명 속성값만 제거
    // 3) btn에 숫자 추가
    btn.text(count++);
    // 4) #base의 첫 번째 자식으로 추가
    $("#base").prepend(btn);
});
// checkbox 추가
$("#add3").on("click", function(){
    // 1) input 요소 생성
    const input = $("<input>");
    //2) type ="checkbox" 추가
    input.attr("type", "checkbox");
    // 3) 체크가 되어있는 상태로 만들기
    // input.attr("check", "checked");
    input.prop("checked", true);
    // 4) #base의 마지막 자식으로 추가
    input.appendTo( $("#base"));
});
//이전 형제 요소 추가
$("#add4").on("click", function(){
    // 1) div 요소 생성
    const div = $("<div>");
    // 2) 클래스 before추가
    div.addClass("before");
    // 3) #base의 이전 형제 요소로 삽입
    $("#base").before(div);
});
// 다음 형제 요소 추가
$("#add5").on("click", function(){
    const div = $("<div>");
    div.addClass("after");
    div.insertAfter( $("#base"));
    $("<div class='after'>").insertAfter( $("#base"));
    //한 줄로 쓰면 해석이나 수정에 어려움이 있어 나눠서 쓰는게 좋다
});




'Frontend > jQuery' 카테고리의 다른 글
| [jQuery] 이벤트:: input(focus, blur,change,select) (0) | 2021.11.17 | 
|---|---|
| [jQuery] 메서드 :: remove(), empty(), detach(),clone(),each() (0) | 2021.11.17 | 
| [jQuery] 순회(탐색) 메서드 :: Sideways 탐색 메서드 (0) | 2021.11.17 | 
| [jQuery] 순회(탐색) 메서드 :: Descendants (자손) 탐색 메서드 (0) | 2021.11.17 | 
| [jQuery] 순회(탐색) 메서드 :: Ancestors (조상) 탐색 메서드 (0) | 2021.11.17 |