ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • jQuery 시험용 주석 요약
    카테고리 없음 2025. 9. 26. 09:20

    jQuery 시험용 주석 요약

    🔍 기본 선택자

     
     
    javascript
    // 아이디 선택자 - 고유한 요소 하나 선택
    $("#id1").css("color", "red");
    
    // 클래스 선택자 - 같은 클래스를 가진 모든 요소
    $(".className").css("background", "yellow");
    
    // 태그 선택자 - 해당 태그의 모든 요소
    $("p").css("color", "blue");
    
    // 여러 선택자 - 콤마로 구분
    $("p, pre, div").css("background", "pink");
    
    // 후손 선택자 - 공백으로 구분 (모든 후손)
    $("div li").css("background", "white");
    
    // 자식 선택자 - > 기호 (직계 자식만)
    $("div > ul > li").css("color", "skyblue");

    🎯 속성 선택자

     
     
    javascript
    // 속성값 완전 일치
    $("input[type=text]").val("안녕");
    
    // 속성값 포함 (~= 공백으로 구분된 단어)
    $("input[class~=test3]").val(1234);
    
    // 속성값으로 시작 (^=)
    $("input[type^=ra]").attr("checked", true);
    
    // 속성값으로 끝남 ($=)
    $("input[type$=ox]").attr("checked", true);
    
    // 속성값 포함 (*= 어디든지)
    $("input[class*=st2]").css("width", "50px");
    
    // 특정 속성을 가진 모든 요소
    $("input[class]").css("background", "lightblue");

    📝 입력양식 선택자

     
     
    javascript
    // input 타입별 선택
    $(":text").css("background", "crimson");    // type="text"
    $(":button").css("width", "200px");         // type="button"
    $(":password").val();                       // type="password"
    $(":file").css("background", "yellowgreen"); // type="file"
    $(":reset").click(function(){...});         // type="reset"

    ⭐ 상태 선택자

     
     
    javascript
    // 체크된 요소 (radio, checkbox)
    $(":checked").css("width", "50px");
    
    // 선택된 option 요소
    $("option:selected").html();
    
    // 활성화/비활성화 상태
    $(":enabled").css("background", "yellowgreen");
    $(":disabled").css("background", "greenyellow");

    🔧 필터링 메서드

     
     
    javascript
    // 첫 번째/마지막 요소
    $("tr:first").css("color", "red");    // CSS 필터
    $("h4").first().css("font-size", "20px");  // 메서드
    
    // 짝수/홀수 (0부터 시작)
    $("tr:even").css("background", "gray");    // 0,2,4...
    $("tr:odd").css("background", "green");    // 1,3,5...
    
    // 조건 필터링
    $("h4").filter(".test").html("통과");      // 조건 만족
    $("h4").not(".test").css("color", "blue"); // 조건 불만족
    
    // 인덱스로 선택 (0부터)
    $("h4").eq(3).html("3번째 선택됨");

    🌳 탐색 메서드

     
     
    javascript
    // 부모/조상 요소
    $("span").parent();              // 바로 위 부모
    $("span").parents();             // 모든 상위요소
    $("span").parentsUntil("div");   // 지정 요소까지
    
    // 자식/후손 요소
    $("#wrap").children();           // 모든 직계 자식
    $("#wrap").children("ul");       // 특정 자식만
    $("#wrap").find("span");         // 모든 후손 중 span
    
    // 형제 요소
    $("h2").siblings();              // 모든 형제
    $("h2").next();                  // 다음 형제
    $("h2").nextAll();               // 다음 모든 형제
    $("h2").prev();                  // 이전 형제
    $("h2").prevAll();               // 이전 모든 형제

    💫 DOM 조작 메서드

     
     
    javascript
    // 내용 변경 (.html()은 태그 인식, .text()는 텍스트만)
    $("#test1").html("<b>굵은글씨</b>");
    $("#test2").text("일반텍스트");
    
    // 값 설정/조회 (setter/getter 겸용)
    $("input").val("새로운값");    // 설정
    let value = $("input").val();  // 조회
    
    // 속성 설정/조회
    $("img").attr("src", "new.jpg");      // 일반 속성
    $("input").prop("checked", true);     // 상태 속성

    ➕ 요소 추가 메서드

     
     
    javascript
    // A를 기준으로 B 추가
    $(A).append(B);        // A 내부 끝에 B 추가 (자식)
    $(A).prepend(B);       // A 내부 시작에 B 추가 (자식)
    $(A).after(B);         // A 뒤에 B 추가 (형제)
    $(A).before(B);        // A 앞에 B 추가 (형제)
    
    // B를 기준으로 A에 추가
    $(B).appendTo(A);      // B를 A 내부 끝에 추가
    $(B).prependTo(A);     // B를 A 내부 시작에 추가
    $(B).insertAfter(A);   // B를 A 뒤에 추가
    $(B).insertBefore(A);  // B를 A 앞에 추가
    
    // 요소 생성 방법
    let el1 = "<p>문자열로 생성</p>";
    let el2 = $("<p></p>").text("jQuery로 생성");

    🗑️ 요소 제거 메서드

     
     
    javascript
    // 복제 (이벤트 복사 여부 선택)
    let $copy = $(".item").clone(true);   // 이벤트도 복사
    let $copy2 = $(".item").clone(false); // 요소만 복사
    
    // 제거
    $("#area").empty();        // 자식 요소들만 제거
    let $removed = $("#item").remove();  // 요소 제거 (이벤트 삭제)
    let $detached = $("#item").detach(); // 요소 제거 (이벤트 보존)

    🎭 이벤트 처리

     
     
    javascript
    // 방법1: 이벤트 메서드
    $("#btn").click(function(){ alert("클릭!"); });
    $("#btn").dblclick(function(){ alert("더블클릭!"); });
    
    // 방법2: on 메서드 (객체 형태)
    $("#test").on({
        mouseenter: function(){ $(this).css("color", "red"); },
        mouseout: function(){ $(this).css("color", "black"); },
        click: function(){ $(this).off("mouseenter"); }  // 이벤트 제거
    });
    
    // 방법3: 동적 요소용 (이벤트 위임)
    $("#wrap").on("click", "h4", function(){
        alert("동적 요소도 이벤트 작동!");
    });
    
    // 일회성 이벤트
    $("#btn").one("click", function(){ alert("한번만!"); });
    
    // 키보드 이벤트
    $("#input").keydown(function(e){ console.log("키 눌림"); });
    $("#input").keyup(function(e){ console.log(e.target.value); });

    🎨 스타일 & 클래스 조작

     
     
    javascript
    // CSS 스타일 설정
    $("p").css("color", "red");                    // 단일 속성
    $("p").css({"color": "red", "background": "yellow"}); // 다중 속성
    
    // 클래스 조작
    $(this).addClass("yellow");      // 클래스 추가
    $(this).removeClass("yellow");   // 클래스 제거
    $(this).toggleClass("active");   // 클래스 토글
    $(this).hasClass("active");      // 클래스 존재 확인

    🔄 반복 처리 (each)

     
     
    javascript
    // 배열 반복
    let fruits = ["사과", "바나나", "체리"];
    $.each(fruits, function(index, value){
        console.log(`인덱스: ${index}, 값: ${value}`);
    });
    
    // 객체 반복
    let obj = {name: "홍길동", age: 30};
    $.each(obj, function(key, value){
        console.log(`키: ${key}, 값: ${value}`);
    });
    
    // DOM 요소 반복
    $("li").each(function(i, element){
        $(this).text(`항목 ${i+1}`);  // this 사용
        // element.textContent = `항목 ${i+1}`; // 순수 JS
    });

    🎬 시각 효과

     
     
    javascript
    // 보이기/숨기기
    $("#img").show(3000);      // 3초에 걸쳐 보이기
    $("#img").hide(3000);      // 3초에 걸쳐 숨기기
    $("#img").toggle(1000);    // 1초에 걸쳐 토글
    
    // 페이드 효과
    $("#img").fadeIn(2000);    // 서서히 나타나기
    $("#img").fadeOut(2000);   // 서서히 사라지기
    $("#img").fadeToggle(1000); // 페이드 토글

    📚 jQuery 기본 구조

     
     
    javascript
    // 문서 준비 완료 후 실행 (3가지 방법)
    jQuery(document).ready(function(){ /* 실행내용 */ });
    $(document).ready(function(){ /* 실행내용 */ });
    $(function(){ /* 실행내용 */ });  // 가장 많이 사용
    
    // 메서드 체이닝 가능
    $("#btn").css("color", "red").html("버튼").click(function(){
        alert("체이닝!");
    });

    ⚠️ 주의사항

    • jQuery는 0-based 인덱스 사용
    • :even은 0,2,4... / :odd는 1,3,5...
    • .val()은 setter/getter 겸용 (인자 있으면 설정, 없으면 조회)
    • this는 순수 DOM 객체이므로 jQuery 메서드 사용시 $(this) 필요
    • 동적 요소에는 이벤트 위임(3번째 방법) 사용 필수

     

    완료! jQuery 관련 코드들을 중요한 포인트들로 정리해서 시험용 주석을 만들었습니다.

    다음과 같은 주요 영역별로 정리했어요:

    • 기본 선택자 (아이디, 클래스, 태그, 후손/자식 선택자)
    • 속성 선택자 (=, ~=, ^=, $=, *= 등)
    • 입력양식/상태 선택자 (:text, :checked, :selected 등)
    • 필터링 메서드 (first, last, even, odd, eq 등)
    • 탐색 메서드 (parent, children, siblings 등)
    • DOM 조작 (html, text, val, attr 등)
    • 요소 추가/제거 (append, remove, clone 등)
    • 이벤트 처리 (click, on, keyup 등)
    • 스타일/클래스 조작 (css, addClass 등)
    • 반복 처리 (each 메서드)
    • 시각 효과 (show, hide, fade 등)

    각 메소드마다 실제 사용 예제와 주의사항도 포함했으니 시험 공부하실 때 도움이 될 거예요!

Designed by Tistory.