KDT/JavaScript

240219 자바스크립트 jQuery

001cloudid 2024. 2. 19. 12:52
728x90

jQuery

웹 문서에 자바스크립트를 쉽게 활용할 수 있도록 도와주는 오픈 소스 기반의 자바스크립트 라이브러리

DOM 조작을 간편하게 사용하기 위해 만들어짐

속성을 대부분 메소드화 시켜 사용하고 간단한 메소드 형태로 지정이 가능함

문서객체선택이 간단함

 

사용방법

1) jQuery 플로그인 연결(다운로드 후 lib 추가)

 -> https://jquery.com/download/ 접속 후 Download the compressed, production jQuery 3.7.1 우클릭 다른 이름으로 저장

 -> 외부링크로 사용

그림 1.

(...생략...)
<head>
(...생략...)
<!-- jQyery 라이브러리 연결 -->
<script src="js/jquery-3.7.1.min.js"></script>
</head>

 

불러오기 준비 구문

(...생략...)
<body>
(...생략...))
<script>
//준비 구문
//1.스크립트 요소를 이용하여 라이브러리 불러들이기 -> jQuery();
//2.html 문서가 준비되고 DOM 객체에서 필요한 요소로 이동하여 작업 시작 -> jQuery(document.ready());
//3. 실행문을 실행(실행문은 그룹을 만들어 사용하기 때문에 함수 형식을 이용)
	jQuery(document.ready(function(){
		//실행문	
	}));
</script>
</body>
(...생략...)

 

라이브러리를 연결 후 불러들이는 또 다른 방법

jQuery -> $ 변경, document.ready 생략

<script>
	$(function(){
		실행문;	
	});
</script>

 

2) HTML에서 jQuery를 추가하는 방법(CDN)

 -> https://jquery.com/download/#other-cdns 스니펫 복사한 후 HTML에 붙혀넣기

(...생략...)
<head>
(...생략...)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
</head>

 

<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>jQuery 기본 작성</title>

<!-- jQuery 라이브러리 연결 -->
<script src="js/jquery-3.7.1.min.js"></script>
</head>
<body>
<!-- jquery를 이용하여 handing -->
<h1>jQuery1</h1>
<h2>jQuery2</h2>
<h3>jQuery3</h3>
<h4>jQuery4</h4>
<h5>jQuery5</h5>

<script>
//준비 구문
//1.스크립트 요소를 이용하여 라이브러리 불러들이기 -> jQuery();
//2.html 문서가 준비되고 DOM 객체에서 필요한 요소로 이동하여 작업 시작 -> jQuery(document.ready());
//3.실행문을 실행(실행문은 그룹을 만들어 사용하기 때문에 함수 형식을 이용)
$(function(){
//자바스크립트 형식
document.querySelector("h1").style.color="blue"; //바닐라 자바스크립트 구문
		
const h2 = document.querySelector("h2");
h2.style.color="red";

//jQuery 형식
//${"선택자"}.메소드(매개변수1); 또는
//${"선택자"}.매소드({"속성":"값","속성":"값",...})
//jQuery에서 css속성을 변경

//선택자에서 필요한 명령문 1개만 작성
$("h3").css('color','green');
jQuery("h4").css('color', 'purple');
//선택자에서 필요한 명령문이 여러 개인 경우 작성
$("h5").css( {
	"color":"white",
	"fontSize" : "2em",
	"backgroundColor" : "black",
	"border" : "2px soild #ccc",
	"width" : 200
});

	});
</script>



</body>
</html>

 

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>jQuery 이벤트와 이벤트 핸들러</title>
</head>
<!-- CDN방식 -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
<body>

<button id="btn_1">화면 변경1</button>
<button id="btn_2">화면 변경2</button>
<button id="btn_3">화면 변경3</button>
<p>
<div id="d">색상변경</div>
</p>
<script type="text/javascript">
//이벤트 : 웹 문서에서 일어나는 사건
//이벤트 명령어 방식
//$("선택자").이벤트명 ex)$("선택자").click(function(){실행문;});

//이벤트 핸들러 : 이벤트가 발생했을 때 실행되는 함수
//이벤트 등록 메소드 방식
//$("선택자").on("이벤트명",실행할함수) ex)$("선택자").on("click", function(){실행문;});


$(function(){
	
	//이벤트 명령어 방식 : 하나의 선택자에 이벤트 하나를 등록하여 실행하는 방법
	$("#btn_1").click(function(){
		alert("이미지가 변경됨 btn_1");
		});
	
	//이벤트 등록 메소드 방식 : on("이벤트명", 실행할 함수)
	//하나의 선택자에 이벤트 여러 개를 등록하여 실행하는 방법
	$("#btn_2").on("click",function(){
		alert("이미지가 변경됨 btn_2");
		});
	
	//이벤트 발생을 한 번만 실행 : one("이벤트명",실행할 함수)
	$("#btn_3").one("click",function(){
		alert("이미지가 변경됨 btn_3");
		});
	
	//이벤트 제거 : off("이벤트명") -> 클릭 이벤트를 막아주는 역할
	$("#btn_1").off("click");
	
	//하나의 선택자에 이벤트 여러 개 등록하여 실행하는 방법
	$("#d").on({
		
		"mouseover" : function(){
			$("#d").css({
				"backgroundColor" : "#ccc",
				"color" : "red",
				"width" : 200,
				"height" : 200
			})
		},
		
		"mouseout" : function(){
			$("#d").css("color", "#000");
		}
		
	});
	
	
});

</script>

</body>
</html>

 

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>jQuery 기본 콘텐츠 변경</title>
<!-- CDN방식 -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
</head>
<body>
<button id="btn_1">text 수정</button>
<button id="btn_2">text 가져오기</button>
<p id="first">text1</p>
<p id="second">시작시간</p>

<ul>
<li>13시 A 클래스에서 시작</li>
<li>20시 B 클래스에서 시작</li>
</ul>

<script type="text/javascript">
//$("선택자").text() : 선택자의 하위 text 노드의 값을 읽어오기
//$("선택자").text("내용") : 선택자의 하위 text 노드의 값 변경
//$("선택자").html(): 선택자의 하위 text 노드의 값을 읽어오기(태그 방식)
//$("선택자").html("<>내용</>"): 선택자의 하위 text 노드의 값 변경(태그 방식)

$(function() {
	//텍스트 수정
	$("#btn_1").click(function() {
		$("#first").text("수업시작");
	});
	
	$("#btn_2").click(function(){
		let some = $('ul>li:eq(0)').text()//가져오기
		//let some = $('ul>li:eq(1)').text()//가져오기
		$("#second").text(some); //텍스트 수정
	});
});

//jQuery 기본 서식
//기본 필터 선택자 : 선택한 요소 집합에서 저장한 인덱스 위치에 있는 요소
// :eq(n), :gt(n), :lt(n), :even, :odd, :first, :last, :animated, :header, :focus


</script>

</body>
</html>

 

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>jQuery 날짜 생성</title>
<!-- jQuery 라이브러리 연결 -->
<script src="js/jquery-3.7.1.min.js"></script>
</head>
<body>


<script type="text/javascript">
let now = new Date();
document.write(now+"<br>");
document.write(now.getFullYear()+"<br>");
document.write((now.getMonth()+1)+"월<br>");
document.write((now.getDate())+"일<br>");
document.write(now.getDay()+"요일<br>");
document.write(now.getHours()+"시<br>");
document.write(now.getMinutes()+"분<br>");
document.write(now.getSeconds()+"초<br>");

</script>
<br>
<p><span id="span_1"></span></p>
<p><span id="span_2"></span></p>
<p><span id="span_3"></span></p>
<p><span id="span_4"></span></p>
<p><span id="span_5"></span></p>
<button id="btn_1">오늘날짜</button>
<button id="btn_2">년도</button>
<button id="btn_3">월</button>
<button id="btn_4">일</button>
<button id="btn_5">시분초</button>
<hr>

<script type="text/javascript">
$(function (){
	$("#btn_1").click(function(){
		$("#span_1").text(now);
	})
	$("#btn_2").click(function(){
		$("#span_2").text(now.getFullYear()+" 년");
	})
	$("#btn_3").click(function(){
		$("#span_3").text((now.getMonth()+1)+" 월");
	})
	$("#btn_4").click(function(){
		$("#span_4").text(now.getDate()+" 일");
	})
	$("#btn_5").click(function(){
		$("#span_5").text(now.getHours()+" 시 " +now.getMinutes()+" 분 "+now.getSeconds()+" 초 ");
	})
	
});
	

</script>
<hr>
<hr>


<span></span>
<span></span>
<span></span>
<span></span>
<span></span>

<p></p>
<p></p>
<p></p>
<p></p>
<p></p>

<script type="text/javascript">
// $(document).redy(function(){
// 	let now = new Date();
// 	$("#btn_1").click(function(){
// 	$("span").eq(0).text(now + "<br>");
// 	})
	
// 	$("#btn_2").click(function(){
// 	let year = now.getFullYear();
// 	$("span").eq(1).html(year + "년<br>");
// 	})
	
// 	$("#btn_3").click(function(){
// 	let month = now.getMonth();
// 	$("span").eq(2).html(month + "월<br>");
// 	})
	
// 	$("#btn_4").click(function(){
// 	let day = now.getDay();
// 	$("span").eq(3).html(day + "일<br>");
// 	})
	
// 	$("#btn_5").click(function(){
// 	let time = now.getHours() +now.getMinutes()+now.getSeconds()
// 	$("span").eq(4).html(time);
// 	})
// })
</script>

<script type="text/javascript">

</script>

</body>
</html>

 

728x90

'KDT > JavaScript' 카테고리의 다른 글

240208 자바스크립트  (0) 2024.02.08
240207 자바스크립트  (0) 2024.02.07
240205 자바스크립트  (0) 2024.02.05
240201 자바스크립트  (0) 2024.02.01
240131 자바스크립트  (0) 2024.01.31