반응형
<JQuery>
- 자바 스크립트 언어를 간편하게 사용할 수 있도록 단순화 시킨 오픈 소스 기반 자바스크립트 라이브러리
- 주요 웹 브라우저의 구버전을 포함한 대부분의 브라우저에서 지원 가능
- HTML DOM를 손쉽게 조작 가능, CSS 스타일도 간단히 적용 가능
- 애니메이션 효과나 대화형 처리를 간단하게 적용
- 같은 동작을 하더라도 더욱 짧게 구현 가능
- 오픈 라이선스를 적용해 누구나 자유롭게 이용 가능
JQuery 사용법 1. 파일 다운로드 2. CDN (content Delivery Network) 사용 https://releases.jquery.com/ |
1. JQuery 메소드
값 가져오기 & 설정하기
메소드 | 예시 | 설명 |
$(선택자).val( ); | var value = $("input").val(); |
Input과 같은 value 값 가져오기 가능 |
$(선택자).val("설정할 값"); | $("input").val("설정완료!"); |
Input과 같은 곳에 value 값 설정 가능 |
Style 변경하기 | $(선택자).css("속성","속성값"); |
|
속성 변경하기 | $(선택자).attr("속성","속성값"); |
|
Text 변경하기 | $(선택자).text("글자"); |
|
HTML 변경하기 | $(선택자).html(html); |
|
요소 추가 | $(선택자).append(요소); |
선택된 요소의 자식 요소 중 마지막으로 추가 |
$(선택자).prepend(요소); |
선택된 요소의 자식 요소 중 첫번째로 추가 | |
$(선택자).before(요소); |
선택된 요소의 형제 요소로 이전 형제로 추가 | |
$(선택자).after(요소); |
선택된 요소의 형제 요소로 다음 형제로 추가 | |
요소 삭제 | $(선택자).remove(); | 선택한 요소를 DOM 트리에서 삭제. 인자로 선택자를 넘겨주면, 선택한 요소 중 조건을 만족하는 요소만 삭제 |
$(선택자).empty(); |
선택한 요소의 자식 요소를 모두 삭제 선택된 요소는 남아있고, 그 안이 다 비워짐 |
|
요소 탐색 | $(선택자).parent().함수() |
바로 위에 존재하는 하나의 부모 요소 선택 |
$(선택자).parents().함수() |
바로 위 부모 뿐 아니라 부모의 부모, 모든 조상 선택 | |
$(선택자).next().함수() |
선택된 요소 바로 다음에 위치한 형제 요소 선택 | |
$(선택자).prev().함수() |
선택된 요소 바로 이전에 위치한 형제 요소 선택 | |
$(선택자).children().함수() |
선택된 요소의 자식 요소 모두 선택 |
- 코드 예시
// $(선택자).함수();
// $ 란? : jQuery(선택자).함수() 였는데 jQuery 글자가 길어서 이제 $ 로 표시함
// $() : parameter 로 선택자를 전달받아 특정 HTML 요소를 선택한다 -> 여기서 선택된 요소는 'jquery 객체' 라고 한다.
// 함수 : jQuery 메소드
function setValue() {
// document.getElementById("input").value = "안녕";
$("#input").val("안녕");
}
function getValue() {
// document로 요소 선택 하고, 그 요소가 input 일 때 value 가져오기
// let value = document.getElementById("input").value;
// jQuery 문법을 이용해서 input의 값 가져오기
let value = $("#input").val();
alert(value);
}
function changeStyle() {
// document 방식으로 해보면,
// let div = document.querySelector("div");
// div.style = "border :10px solid black;";
// $().css("속성",속성값)
$("div").css("border", "10px solid black");
}
function changeText() {
// document 방식으로 해보면,
// let div = document.querySelector("div");
// div.innerText = "<b>jQuery 사용 전 글자 바꾸기<b>";
// $().text();
// 태그가 읽히지 않음
$("div").text("<b>jQuery 사용 후<b>");
}
function changeAttribute() {
// document 방식으로 해보면,
// let a = document.querySelector("a");
// set Attributee(속성,속성값)
// a.setAttribute("href", "https://google.com");
// $().attr("속성","속성값")
$("a").attr("href", "https://google.com");
}
function changeHTML() {
// document 방식으로 해보면,
// let div = document.querySelector("div");
// div.innerHTML = "<b>jQuery 사용 전 글자 바꾸기<b>";
// $().html();
// 태그가 태그로 읽힘
$("div").html("<b>jQuery 사용 후<b>");
}
function append() {
// append(): 마지막 자식 요소에 추가
// js 방식으로 해보면,
let li = document.createElement("li");
// li.innerText = "append 된 친구";
// document.querySelector("ul").append(li);
// jQuery 방식
// jQuery로 요소 생성 X !
// 원하는 글자 넣기
$(li).text("jQuery로 append");
// ul 태그 안으로 append
$("ul").append(li);
}
function prepend() {
// prepend(): 첫번째 자식 요소에 추가
// js 방식으로 해보면,
let li = document.createElement("li");
// li.innerText = "prepend 된 친구";
// document.querySelector("ul").prepend(li);
// jQuery 방식
// jQuery로 요소 생성 X !
// 원하는 글자 넣기
$(li).text("jQuery로 prepend");
// ul 태그 안으로 append
$("ul").prepend(li);
}
function before() {
// before(): 기준 요소의 전에 추가한다. ( = 앞에 추가한다.)
let li = document.createElement("li");
li.innerText = "before 된 친구";
// document.querySelector("#li2").before(li);
// jQuery 방식
$("#li2").before(li);
}
function after() {
// after(): 기준 요소 다음에 추가한다. ( = 뒤에 추가한다.)
let li = document.createElement("li");
li.innerText = "after 된 친구";
// document.querySelector("#li2").after(li);
// jQuery 방식
$("#li2").after(li);
}
function removeElement() {
// 내가 선택한 요소를 삭제하는 친구
// document.querySelector("ul").remove();
$("ul").remove();
}
function emptyElement() {
let standard = document.querySelector("li");
// document.querySelector("ul").removeChild();
// removeChild( ) : 부모를 선택하고 삭제할 자식 하나를 보내야 했다.
// empty(): 선택된 자식들을 모두 삭제한다.
$("ul").empty();
}
function findParent() {
// parent() : 부모 요소를 반환
console.log($(".child2").parent());
}
function findParents() {
// parents() : 조상 요소를 모두 반환
console.log($(".child2").parents());
}
function findNext() {
// next() : nextSibling 내 다음 형제를 보는 친구
// document의 nextElementSibling 과 동일
console.log($(".child2").next());
}
function findPrev() {
// prev() : previousSibiling 내 이전 형제를 보는 친구
// previousSibling, previousElementSibling
console.log($(".child3").prec()); // previousElemntSibling 와 동일
}
function findChildren() {
// children() : 부모 요소를 선택했을 때 그 자식 요소들을 반환
//childNodes 랑 Children 중 어떤거랑 동일할까? -> children과 동일
console.log($(".parent").children());
}
클래스 조작하기
$(선택자).addClass("클래스명") | 선택된 요소에 클래스 추가 |
$(선택자).removeClass("클래스명") | 선택된 요소에 클래스 삭제 |
$(선택자).hasClass("클래스명") | 선택된 요소에 클래스가 있는지 여부 확인 Return값은 true와 false로 나온다 |
$(선택자).toggleClass("클래스명") | 선택된 요소에 클래스가 있으면 추가, 없으면 삭제 |
$(선택자).switchClass("클래스명1","클래스명2",시간) |
클래스1을 클래스2로 바꿈 이때, 시간은 클래스1을 클래스2로 바꿀 때 걸리는 시간을 의미 |
- 코드 예시
function addClass() {
// $().addClass("클래스명")
$("div").addClass("css1");
}
function removeChild() {
$("div").removeClass("css1");
}
function hasClass() {
alert($("div").hasClass("css1"));
}
function toggleClass() {
$("div").toggleClass("css1");
}
function switchClass() {
// $().switchClass("클래스명1","클래스명2",[시간ms])
// jQuery UI를 무조건 불러와야 함
$("div").switchClass("css1", "css2", 3000);
}
2. JQuery 이벤트 리스너
- 이벤트 발생 시 , 그 처리를 담당하는 함수
로딩 이벤트 | .ready() |
$() | |
마우스 이벤트 | click() |
mouseover() | |
hover() | |
scroll() | |
키보드 이벤트 | keydown() |
keyup() |
- 코드 예시
window.addEventListener("load", function () {});
//로딩 이벤트
// 1 =3 같은 말임
$(window).ready(function () {
console.log("로드 완료1");
});
$(document).ready(function () {
console.log("로드 완료2");
});
$(function () {
console.log("로드 완료3");
});
// $().on("이벤트명 ex.click")
// addEventListner("click")
/*$("button").on("click", function () {
alert("클릭");
});*/
// 위 처럼 말고 이렇게 바로 쓸 수 있음
$("button").click(function () {
alert("클릭");
});
// on 함수를 이용하지 않고 바로 쓸 수 있는 이벤트 함수
// click, scroll, mouseover, hover, keyup, keydown ...
$("input").keyup(function (e) {
console.log(e);
console.log(e.key);
console.log(e.keycode);
console.log(e.currentTarget);
console.log(e.currentTarget.value);
});
// js 에서 $().on("click",콜백함수) 로 썼다면,
// jQuery 에서는 이벤트 함수가 있기 때문에 $().click(콜백함수) 로 쓸수있다.
반응형
'개발 > HTML,CSS,JS' 카테고리의 다른 글
[ResponsiveWeb]반응형 웹과 BootStrap - 미디어쿼리 / 부트스트랩 적용법 (0) | 2023.08.09 |
---|---|
[JS] JavaScript(3) - 객체 / DOM (0) | 2023.08.04 |
[JS] JavaScript(2) - 함수 / 조건문 / 반복문 / 메소드 / 배열 (0) | 2023.08.01 |
[JS] JavaScript(1) - 개념 / 변수 /자료형 / 형변환 / 연산자 (0) | 2023.07.16 |
[CSS] CSS(4) - transform / transition / animation (0) | 2023.07.16 |