자바스크립트 라이브러리 중 하나.
HTML문서 조작,이벤트 처리,애니메이션,Ajax와 같은 것들을 간편하게 사용하게 함
javascript 프로그래밍 시에 도움이 되는 여러 함수들을 제공함.
코드의 가독성을 높여준다.
: javascript는 다양한 라이브러리를 보유하고 있다. 대표적으로 jQuery,React,Moment,lodash 등이 있다.
$(selector).action();
$:Jquery라는 것을 정의
(selector):“질의하거나 찾을”html요소
action():요소가 수행할 기능
2번째 방법을 이용하여 라이브러리를 추가함.
자바스크립트 코드를 example.js파일을 불러 실행함
example.html파일
<html>
<head>
<script src = "https://code.jquery.com/jquery-3.4.1.min.js"></script>
</head>
<body>
<botton id = "alert">Alert!</button>
<script src = "./example.js"></script>
</body>
</html>
기존 : html태그에 onClick 속성을 추가하여 사용
jQuery:자바스크립트 코드만으로 click이벤트 제어가 가능
example.js 파일
$("#alert").click(function() {
alert("Button clicked!");
});
결과
example.html파일
<html>
<head>
<script src = "https://code.jquery.com/jquery-3.4.1.min.js"></script>
</head>
<body>
<botton id = "alert">Alert!</button>
<botton id = "button2">Click me!</button>
<script src = "./example2.js"></script>
</body>
</html>
example2.js 파일
$("#alert").click(function() {
alert("Button clicked!");
});
$("#button2").click(function() {
alert("#alert");
});
결과
example.html파일
<html>
<head>
<script src = "https://code.jquery.com/jquery-3.4.1.min.js"></script>
</head>
<body>
<div class= "demo-container">
<div class= "demo-box">Demonstratino Box</div>
</div>
<script src = "./example3.js"></script>
</body>
</html>
example3.js 파일
alert($("div.demo-container").html());
결과 : demo-container class를 가진 div를 찾아, html 함수를 호출
example.html파일
<html>
<head>
<script src = "https://code.jquery.com/jquery-3.4.1.min.js"></script>
</head>
<body>
<div class= "demo-container">
<div class= "demo-box">Demonstratino Box</div>
</div>
<botton id = "btn">Click me!</button>
<script src = "./example4.js"></script>
</body>
</html>
example4.js 파일
$("#btn").click(function() {
$("div.demo-container").html("<div>Button clicked!</div>")
});
결과
Click me를 누를 시, 아래처럼 바뀜.
example.html파일
<html>
<head>
<script src = "https://code.jquery.com/jquery-3.4.1.min.js"></script>
</head>
<body>
<div class= "demo-box">Demonstratino Box</div>
<button id = "btn">Click me!</button>
<script src = "./example5.js"></script>
</body>
</html>
example5.js 파일
$("#btn").click(function() {
alert($("div.demo-box").text());
});
결과 : demo-box의 내용을 가져온다.
함수 태그 자체를 삭제하는 기능을 가진 함수.
해닫ㅇ 클래스가 가지고 있는 html요소를 모두 삭제한다.
example.html파일
<html>
<head>
<script src = "https://code.jquery.com/jquery-3.4.1.min.js"></script>
</head>
<body>
<div class= "demo-box">Demonstratino Box</div>
<button id = "btn">Click me!</button>
<script src = "./example6.js"></script>
</body>
</html>
example6.js 파일
$("#btn").click(function() {
$("div.demo-box").remove();
});
결과
클릭 시, 개발자 도구에서 demo-box라는 클래스가 삭제된 것을 볼 수 있다.
함수 태그 속 텍스트를 삭제하는 기능을 가진 함수.
example.html파일
<html>
<head>
<script src = "https://code.jquery.com/jquery-3.4.1.min.js"></script>
</head>
<body>
<div class= "demo-box">Demonstratino Box</div>
<button id = "btn">Click me!</button>
<script src = "./example7.js"></script>
</body>
</html>
example7.js 파일
$("#btn").click(function() {
$("div.demo-box").empty();
});
결과
클릭 시, 개발자 도구에서 리무브 함수 사용과는 다르게 demo-box라는 div는 살아있지만, 그 안의 텍스트인 Demonstratino Box가 사라진 것을 확인 할 수 있음.
: 선택한 태그 끝 부분에 컨텐츠를 추가한다.
example.html파일
<html>
<head>
<script src = "https://code.jquery.com/jquery-3.4.1.min.js"></script>
</head>
<body>
<div class= "demo-box">Demonstration Box</div>
<script>
$("div.demo-box").append("<p>Append Sample</p>");
</script>
</body>
</html>
결과
addClass:선택한 태그에 class를 추가한다
removeClass:선택한 태그에서 class를 제거한다.
hasClass:선택한 태그가 해당 class를 가지고 있는지 확인한다.
example.html파일
<html>
<head>
<script src = "https://code.jquery.com/jquery-3.4.1.min.js"></script>
<style>
.red {
color: #ff0000;
}
.yellow {
color: #ffff00;
}
</style>
</head>
<body>
<div class= "demo-box">Demonstratino Box</div>
<button id = "red-btn">Red</button>
<button id = "yellow-btn">Yellow</button>
<script src = "./example9.js"></script>
</body>
</html>
example9.js 파일
$("#red-btn").click(function() {
$("div.demo-box").addClass("red");
});
$("#yellow-btn").click(function() {
$("div.demo-box").addClass("yellow");
});
Red버튼 누를 시,
Yellow버튼 누를 시,
하지만 여기서 다시 Red버튼 누를 시 색이 변하지 않는다.
이는 red와 yellow css color 속성에 대해 yellow 와 red 클래스가 겹친 것이다.
이는 removeClass 함수를 사용하여 정상적으로 작동하게끔 만들 수 있다.
example.html파일
<html>
<head>
<script src = "https://code.jquery.com/jquery-3.4.1.min.js"></script>
<style>
.red {
color: #ff0000;
}
.yellow {
color: #ffff00;
}
</style>
</head>
<body>
<div class= "demo-box">Demonstratino Box</div>
<button id = "red-btn">Red</button>
<button id = "yellow-btn">Yellow</button>
<script src = "./example10.js"></script>
</body>
</html>
example10.js 파일
$("#red-btn").click(function() {
$("div.demo-box").removeClass("yellow");
$("div.demo-box").addClass("red");
});
$("#yellow-btn").click(function() {
$("div.demo-box").removeClass("red");
$("div.demo-box").addClass("yellow");
});
결과 : 두 버튼을 번갈아 가며 눌러도 클래스가 하나씩만 추가되어 의도한 대로 동작한다.
: val 함수는 input, select 와 같은 사용자가 값을 입력하거나 선택하는 태그에 사용된다.
example.html파일
<html>
<head>
<script src = "https://code.jquery.com/jquery-3.4.1.min.js"></script>
</head>
<body>
<input type="text" id="inputBox">
<div>
<select name="" id="selectBox">
<option value="1">option1</option>
<option value="2">option2</option>
<option value="3">option3</option>
<option value="4">option4</option>
</select>
<script src = "./example11.js"></script>
</body>
</html>
example11.js 파일
$("#inputBox").val("Hi hi");
$("#selectBox").val(3);
결과 :