몰입하며 나아가는 개발이란

Language/JQuery

JQuery란? 작성방식 및 기본

류하을 2020. 1. 13. 20:23

JQuery란?

JQuery란? JavaScript으로 만들어진 라이브러리중 하나이며, Vue와 react도 JavaScript라이브러리에 속한다.

JQuery의 문법은 JavaScript의 문서객체모델(DOM) 찾기, 이벤트제어, 애니메이션만들기, Ajax 개발을 쉽게 할 수 있도록 개발 되었다고한다. $로 시작을하며, CSS의 id, class 명명법을 동일하게 사용 한다.


JQuery 적용.

<head>부분에 주석이 된 3가지 모두 사용이 가능하며,

https://jquery.com/사이트를 통해서 .js파일로 받아 버전을 맞춰 사용도 가능하다.

학습이 목적이라면 아래 코드와 같이 <head>부분에 적용해서 바로바로 적용하는것이 여러 프로젝트를 만들고 지우는것에 유리하며, 프로젝트에 들어갔을경우에는 버전에 맞추어 프로젝트 내에 파일을 걸어두어서 사용하는것이 좋다.

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>

<!-- <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script> -->
<!-- <script src="./js/jquery.min.js"></script> -->
<!-- <script src="https://code.jquery.com/jquery-3.4.1.min.js"></script> -->

</head>
<body>

</body>
</html>

JQuery의 사용

<script>태그 안에서 시작하며, <script>태그는 head, body 어디에 놔도 크게 상관없지만 프로젝트를 진행할 경우에는 .js 파일을 빼놓고 사용하는것이 좋다. 아래 두코드 모두 사용가능하며, ""과 ''을 구분없이 사용가능하고, ; 또한 생략이 가능하다. ()와 {}가 연속적으로 나오다보니 헷갈리는 경우가 있으니 주의하도록 하자.

<script type="text/javascript">
	$(document).ready(function () {
	// JQuery 및 JavaScript문법사용가능
	});
</script>


<script type="text/javascript">
	$(function () {
	// JQuery 및 JavaScript문법사용가능
	})
</script>

JQuery의 객체 접근 방법

JQuery에서 선택자로 접근하는 방법은 CSS와 거의 동일하다.

Selector JQuery
ALL Selector $("*")
Element Selector $("elementName")
ID Selector $("#idName")
Name Selector $("tagName[name=attrName]")
Class Selector $(".className")
Multiple Selector $("selector1, selector2, selectorN")

아래 코드를 실행해보면 조금더 명확 하게 알 수 있다.

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>

<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>  

</head>
<body>

<p>여기가 p 태그입니다</p>
<p id="demo">p tag id demo</p>
<p class="cls">p tag class cls</p>
<h3 class="cls">h3 tag class cls</h3>

<script type="text/javascript">
$(document).ready(function () {
	$("p").html("<b>Hello P Tag</b>"); // element selector
	$("#demo").text("Hello P Tag id demo"); // id selector
	$(".cls").text("class cls인 태그입니다"); // class selector
	var cls = $(".cls").text();
	alert(cls);
});
</script>

</body>
</html>

JQuery 접근 관련 메소드

JQuery는 아래의 메소드로 접근이 용이하며, getter와 setter 둘다 쉽게 가능하다는 장점이 있다.

DOM Method  
html() 문서 객체 글자와 관련된 모든 것을 수행함 (html 태그인식) 
text() 문서 객체 글자와 관련된 모든것을 수행
val() value 값
css() css와 관련된 모든것을 수행 (style)
attr() attribute와 관련된 모든것을 수행
$(a)append(b) b를 a의 안쪽 뒷부분에 추가
$(a)prepend(b) b를 a의 안쪽 앞부분에 추가

아래의 코드는 text() 와 html()을 getter로 사용하는 예시

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js">
</script>
</head>
<body>

<p id="demo">개인 PC<b>해킹</b>, 이것만 했어도 막을 수 있었다?</p>
<button id="btnText">show Text</button>
<button id="btnHtml">show Html</button>

<script type="text/javascript">
$(document).ready(function () {
	$("#btnText").click(function () {
		var text = $("#demo").text();
		alert(text);
	});
	$("#btnHtml").click(function () {
		var html = $("#demo").html();
		alert(html);
	});
	
});
</script>

</body>
</html>

val() 메소드를 getter로 사용하는 예시 코드

<input type="text" id="text" placeholder="입력주제">
<button type="button" id="btnInput">show value</button>

<script type="text/javascript">
$(function () {	
	$("#btnInput").click(function () {
		var v = $("#text").val();	// getter
		alert(v);
	});	
});
</script>

attr() 메소드를 사용하여, 속성값에 접근하고 setter로 사용하는 예시 코드

<p>
	<a href="http://www.naver.com" id="naver">Naver Link</a>
</p>

<button type="button" id="btnAttr">Attribute(속성)</button>

<script type="text/javascript">
$(function () {
	$("#btnAttr").click(function () {
		// getter
		var attrVal = $("#naver").attr("href");
		alert(attrVal);
		
		// setter
		$("#naver").attr("href", "http://www.daum.net");
		$("#naver").text("다움 홈페이지");
	});
});
</script>