jQuery에 대해서 이어서 알아보자
1. 선택자(Selector)
선택자는 HTML 요소를 찾아서 조작할 수 있게 해주는 중요한 부분이다.
jQuery에서는 CSS 선택자와 비슷한 방식으로 요소를 선택할 수 있다.
예시
ID 선택자: $("#id")
해당 ID를 가진 요소를 선택.
$("#myDiv") // <div id="myDiv">...</div> 선택
클래스 선택자: $(".class")
해당 클래스를 가진 모든 요소를 선택.
$(".myClass") // <div class="myClass">...</div> 선택
태그 선택자: $("tag")
해당 태그를 가진 모든 요소를 선택.
$("p") // 모든 <p> 태그 선택
자식 선택자: $("parent child")
부모 요소 아래에 있는 특정 자식 요소를 선택.
$("ul li") // 모든 <ul> 내부의 <li> 요소 선택
속성 선택자: $("tag[attr=value]")
특정 속성을 가진 요소를 선택.
$("a[href='https://example.com']") // href 속성이 'https://example.com'인 <a> 태그 선택
2. DOM 조작
jQuery로 선택한 HTML 요소를 쉽게 수정할 수 있다.
텍스트, HTML 내용, 스타일 등 다양한 속성을 조작할 수 있다.
예시
텍스트 수정: .text()
$("#title").text("새로운 제목"); // id가 'title'인 요소의 텍스트를 변경
HTML 내용 수정: .html()
$("#content").html("<p>새로운 콘텐츠</p>"); // id가 'content'인 요소의 HTML 내용을 변경
속성 수정: .attr()
$("#link").attr("href", "https://newurl.com"); // id가 'link'인 요소의 href 속성 수정
스타일 수정: .css()
$("p").css("color", "blue"); // 모든 <p> 태그의 글자색을 파란색으로 변경
클래스 추가/제거: .addClass(), .removeClass()
$("#btn").addClass("active"); // 버튼에 'active' 클래스를 추가
$("#btn").removeClass("active"); // 버튼에서 'active' 클래스를 제거
요소 추가/삭제: .append(), .prepend(), .remove()
$("#list").append("<li>새 항목</li>"); // #list에 새로운 <li> 항목 추가
$("#item").remove(); // #item 요소를 제거
3. 이벤트 처리
jQuery는 다양한 이벤트를 쉽게 처리할 수 있게 도와준다.
클릭, 마우스 오버, 키보드 입력 등 여러 이벤트에 반응할 수 있다.
예시
클릭 이벤트: .click()
$("#button").click(function() {
alert("버튼이 클릭됨!");
});
마우스 오버/아웃 이벤트: .mouseenter(), .mouseleave()
$("#box").mouseenter(function() {
$(this).css("background-color", "yellow");
}).mouseleave(function() {
$(this).css("background-color", "white");
});
입력 이벤트: .keyup(), .keydown()
$("#inputField").keyup(function() {
console.log($(this).val()); // 입력된 값이 콘솔에 출력
});
이벤트 위임
동적으로 추가된 요소에도 이벤트를 적용할 수 있도록 도와줌.
$("#parent").on("click", ".child", function() {
alert("자식 요소 클릭됨!");
});
4. AJAX (비동기 통신)
jQuery로 서버와 비동기적으로 데이터를 주고받을 수 있다.
페이지를 새로 고침하지 않고도 데이터를 가져오거나 보낼 수 있다.
GET 요청: .get()
$.get("data.json", function(response) {
console.log(response);
});
POST 요청: .post()
$.post("/submit", { name: "John", age: 30 }, function(response) {
console.log(response);
});
전체 AJAX: .ajax()
$.ajax({
url: "/data",
method: "GET",
success: function(response) {
console.log(response);
},
error: function(error) {
console.error(error);
}
});
5. 애니메이션 효과
jQuery는 간단한 애니메이션을 쉽게 구현할 수 있도록 도와줌. 요소를 천천히 숨기거나 나타내는 등의 효과를 제공.
페이드 인/아웃: .fadeIn(), .fadeOut()
$("#box").fadeIn(); // 요소를 서서히 나타나게 함
$("#box").fadeOut(); // 요소를 서서히 숨김
슬라이드 다운/업: .slideDown(), .slideUp()
$("#box").slideDown(); // 요소가 위에서 아래로 펼쳐짐
$("#box").slideUp(); // 요소가 위로 숨겨짐
애니메이션: .animate()
$("#box").animate({ height: "100px", width: "100px" }, 1000); // 1초 동안 크기를 변경
6. 체이닝(Chaining)
jQuery는 메서드를 체이닝할 수 있다. 하나의 선택자에서 여러 가지 작업을 한 번에 할 수 있다.
$("#myDiv")
.css("color", "red") // 색상 변경
.slideUp() // 슬라이드 업
.fadeIn(); // 페이드 인
끝
'개발 > Javascript & Typescript' 카테고리의 다른 글
[jQuery] jQuery에 대해서 알아보자. (39) | 2025.04.18 |
---|---|
[Next] Next.js로 5분 만에 웹 앱 폭주! 이걸 몰랐다면 개발자로서 이미 뒤처진 거다! (52) | 2025.01.14 |
[RN] Expo FCM 푸시알림 구현하기 (2) (198) | 2024.06.04 |
[RN] Expo FCM 푸시알림 구현하기 (1) (143) | 2024.05.30 |
[RN] WebView와 Web 통신하기 (184) | 2024.05.17 |