본문 바로가기

학원/복기

[jQuery] 메소드 (each, css, text, html)

each 메소드

 

$(selector).each(callback([index][, element])) 

 

each 메소드는 선택자로 검색된 태그의 갯수만큼 콜백함수를 반복적으로 호출하는 메소드이다. (명시적 반복)
콜백함수의 매개변수에는 검색된 태그의 첨자와 태그의 Node(Element) 객체가 자동으로 저장되어 사용이 가능하다.

 


 

[html 태그]

 

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>jQuery</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.0/jquery.min.js"></script>
</head>
<body>
	<h1>each 메소드</h1>
	<hr>
	<h3>each 메소드 호출-1</h3>
	<h3>each 메소드 호출-2</h3>
	<h3>each 메소드 호출-3</h3>
	<h3>each 메소드 호출-4</h3>
	<h3>each 메소드 호출-5</h3>
</body>
</html>

 


 

 

선택자에 의해 다수의 태그가 검색되면 태그의 갯수만큼 jQuery 객체를 생성하여 메소드를 호출한다.
→ 묵시적 반복 : 검색된 태그를 모두 jQuery 객체로 생성하여 메소드를 반복적으로 호출한다. 
→ 검색된 모든 태그에 동일한 기능이 구현된다. 

 

$("h3").css("color", "red");

 

 


 

선택자에 의해 검색된 다수의 태그를 구분하여 메소드를 호출하면 검색된 태그에 다른 기능을 구현할 수 있다. 

$("h3").eq(0).css("color", "red");
$("h3").eq(1).css("color", "green");
$("h3").eq(2).css("color", "blue");
$("h3").eq(3).css("color", "orange");
$("h3").eq(4).css("color", "lime");

 

 


 

$(selector).size() : 선택자로 검색된 태그의 갯수를 반환하는 메소드 
→ jQuery 3.0 이상부터는 size 메소드를 사용할 수 없으므로 대신 length 프로퍼티를 사용하여 태그의 갯수를 제공받아 사용한다.

var color=["red", "green", "blue", "orange", "lime"];
for(i=0;i<$("h3").length;i++) {
	$("h3").eq(i).css("color", color[i]);
}

 

이처럼 jQuery 버전에 따라 사용할 수 있는 메소드가 달라질 수 있다. 또한 버전에 따라 메소드의 기능이 다른 경우도 존재한다.

 

 


 

each 메소드 사용해 다수의 태그 구분해 메소드 호출 

var color=["red", "green", "blue", "orange", "lime"];
$("h3").each(function(i, element) {
	//$("h3").eq(i).css("color", color[i]);
		
	//선택자 대신 자바스크립트 객체를 사용하여 jQuery 객체를 반환받아 메소드 호출 가능 
	//$(element).css("color", color[i]);
		
	//this : 콜백함수에서 처리중인 태그의 Node(Element) 객체를 표현하기 위한 키워드 
	// => this : 자바스크립트 객체(Element 객체), $(this) : jQuery 객체 
	$(this).css("color", color[i]);		
})


CSS 관련 메소드

 

[html 태그]

 

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>jQuery</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.0/jquery.min.js"></script>
<style>
#displayDiv {
	margin: 20px;
	padding: 10px;
	color: red;
	border: 1px solid blue;
	font-size: 1.5em;
	text-align: center;
}
</style>
</head>
<body>
	<h1>css 메소드</h1>
	<hr>
	<div id="displayDiv">CSS 관련 메소드</div>
</body>
</html>

 

css 메소드의 첫번째 기능은 매개변수에 전달된 스타일 속성값을 반환해주는 것이다.

 

 

$(selector).css(name) : 선택자로 검색된 태그의 CSS 스타일 속성값을 반환하는 메소드 

 

alert("결과 = "+$("#displayDiv").css("margin"));//결과 = 20px
alert("결과 = "+$("#displayDiv").css("padding"));//결과 = 10px
alert("결과 = "+$("#displayDiv").css("color"));//결과 = rgb(255, 0, 0) - 색상은 rgb 단위로 표현 
alert("결과 = "+$("#displayDiv").css("border"));//결과 = 1.25px solid rgb(0, 0, 255)
alert("결과 = "+$("#displayDiv").css("font-size"));//결과 = 24px - 크기는 모두 px 단위로 표현

 

CSS 스타일 속성을 자바스크립트의 카멜표기법으로 표현하여 사용이 가능하다. 

alert("결과 = "+$("#displayDiv").css("fontSize"));//결과 = 24px

alert("결과 = "+$("#displayDiv").css("text-align"));//결과 = center
alert("결과 = "+$("#displayDiv").css("textAlign"));//결과 = center

 


 

css 메소드의 두번째 기능은 선택자로 검색된 태그의 CSS 스타일 속성값을 변경해주는 것이다.

 

$(selector).css(name, value) : 선택자로 검색된 태그의 CSS 스타일 속성값을 변경하는 메소드 

$("#displayDiv").css("width", "50%")
$("#displayDiv").css("position", "absolute");
$("#displayDiv").css("top", "200px");
$("#displayDiv").css("left", "100px");

 

 

 

검색된 태그의 CSS 스타일 속성값을 여러개 변경할 경우 css 메소드의 매개변수에 JSON 형식으로 표현된 Object 객체를 전달하여 객체의 속성값으로 CSS 스타일의 속성값을 변경할 수 있다. 

$("#displayDiv").css({"width":"50%", "position":"absolute","top":"200px","left":"100px"})

 

 


attr 메소드

 

[html 태그]

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>jQuery</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.0/jquery.min.js"></script>
</head>
<body>
	<h1>attr 메소드</h1>
	<hr>
	<div id="imgDiv" data-value="KoalaImage">
		<img alt="코알라" src="images/Koala.jpg" width="200" id="img">
	</div>
</body>
</html>

 

$(selector).attr(name) : 선택자로 검색된 태그의 속성값을 반환하는 메소드

alert("결과 = "+$("#imgDiv").attr("data-value"));//결과 = KoalaImage
alert("결과 = "+$("#img").attr("src"));//결과 = images/Koala.jpg

 

$(selector).attr(name, value) : 선택자로 검색된 태그의 속성값을 변경하는 메소드

 

$("#img").attr("src", "images/Penguins.jpg"); //펭귄 이미지로 변경
$("#img").attr("width", "300");

 

검색된 태그의 CSS 스타일 속성값을 여러개 변경할 경우 attr 메소드의 매개변수에 JSON 형식으로 표현된 Object 객체를 전달하여 Object 객체의 속성값으로 태그의 속성값 변경이 가능하다.

 

$("#img").attr({"src":"images/Penguins.jpg", "width":"300"});

 


text 메소드

 

[html] 태그

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>jQuery</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.0/jquery.min.js"></script>
</head>
<body>
	<h1>text 메소드</h1>
	<hr>
	<div id="displayDiv"><p>text 메소드와 html 메소드 활용</p></div>
	<hr>
	<h3>jQuery 메소드 연습</h3>
	<h3>jQuery 메소드 연습</h3>
	<h3>jQuery 메소드 연습</h3>
	<h3>jQuery 메소드 연습</h3>
	<h3>jQuery 메소드 연습</h3>
</body>
</html>

 

 

$(selector).text()

: 선택자로 검색된 태그의 내용을 반환하는 메소드이다. HTML 태그를 제외한 태그 내용을 반환한다.

alert("결과 = "+$("#displayDiv").text());//결과 = text 메소드와 html 메소드 활용


$(selector).html()

: 선택자로 검색된 태그의 내용을 반환하는 메소드이다. HTML 태그를 포함한 태그 내용을 반환한다.

alert("결과 = "+$("#displayDiv").html());//결과 = <p>text 메소드와 html 메소드 활용</p>

$(selector).text(value) 

: 선택자로 검색된 태그의 내용을 변경하는 메소드이다. 매개변수에 전달된 변경값에 포함된 HTML 태그가 문자값으로 처리되어 태그 내용이 변경된다.

$("#displayDiv").text("<p style='color: red'>text() 메소드에 의해 태그 내용 변경</p>");

 

$(selector).html(value)

 : 선택자로 검색된 태그의 내용을 변경하는 메소드이다. 매개변수에 전달된 변경값에 포함된 HTML 태그가 HTML 태그로 처리되어 태그 내용이 변경된다.

$("#displayDiv").html("<p style='color: red'>text() 메소드에 의해 태그 내용 변경</p>");



text() 메소드 또는 html() 메소드의 매개변수에 문자값을 반환하는 콜백함수를 전달하여 호출이 가능하다.


→ 콜백함수는 검색된 태그의 갯수만큼 반복 호출된다. - 명시적 반복 
→ 콜백함수는 반드시 문자값을 반환해야 하며 반환되는 문자값으로 검색된 태그의 내용을 변경할 수 있다. 
→ 콜백함수의 매개변수에는 검색 태그의 첨자와 태그내용을 전달받아 콜백함수에서 사용이 가능하다. 

 

예시1)

$("h3").text(function(index, content) {
	return "jQuery 메소드 연습 - 변경"; //똑같은 값으로 변경 
});

 

 

예시2)

$("h3").text(function(index, content) {
	return  "jQuery 메소드 연습 - "+(index+1);
});

 

예시3)

$("h3").text(function(index, content) {
	return content+ " - "+(index+1);
});

 

'학원 > 복기' 카테고리의 다른 글

[jQuery] Event Handle  (0) 2023.06.13
[jQuery] 태그의 추가와 삭제 / 이동  (0) 2023.06.12
[jQuery] 선택자(Selector)  (0) 2023.06.12
[jQuery] jQuery란? / jQuery 라이브러리 이용법  (0) 2023.06.12
[JavaScript] 쿠키(Cookie)  (0) 2023.06.11