◈ 선택자에 의해 다수의 태그가 검색되면 태그 갯수만큼 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 이상부터는 length 프로퍼티를 이용하여 태그의 갯수를 제공받아 사용
var color=["red","green","blue","orange","lime"]; for(i=0;i<$("h3").length;i++) {//명시적 반복 $("h3").eq(i).css("color",color[i]); }↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑같은 결과값↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
📌$(selector).each(callback([index][,element])) : 선택자로 검색된 태그의 갯수만큼 콜백함수를 반복적으로 호출하는 메소드 - 명시적 반복
→ 콜백함수의 매개변수에는 검색되어 처리될 태그의 첨자와 태그의 Element 객체가 자동으로 저장되어 제공
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 : 콜백함수에서 처리중인 태그의 Element 객체를 표현하기 위한 키워드 //→ this : Element 객체, $(this) : jQuery 객체 $(this).css("color",color[i]); });
📃06_each.html
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>jQuery</title> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.1/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> <script type="text/javascript"> //선택자에 의해 다수의 태그가 검색되면 태그 갯수만큼 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"); */ /* //↑보다 간단하지만 비권장(어려움) var color=["red","green","blue","orange","lime"]; //$(selector).size() : 선택자로 검색된 태그의 갯수를 반환하는 메소드 //→ jQuery 3.0 이상부터는 length 프로퍼티를 이용하여 태그의 갯수를 제공받아 사용 for(i=0;i<$("h3").length;i++) {//명시적 반복 $("h3").eq(i).css("color",color[i]); } */ //↑보다 간단한 방법 var color=["red","green","blue","orange","lime"]; //$(selector).each(callback([index][,element])) : 선택자로 검색된 태그의 갯수만큼 콜백함수를 반복적으로 호출하는 메소드 - 명시적 반복 //→ 콜백함수의 매개변수에는 검색되어 처리될 태그의 첨자와 태그의 Element 객체가 자동으로 저장되어 제공 $("h3").each(function(i, element) { //$("h3").eq(i).css("color",color[i]); // //선택자 대신 자바스크립트 객체를 사용하여 jQuery 객체를 반환받아 메소드 호출 가능 //$(element).css("color",color[i]);//↑랑 같은 결과 // //this : 콜백함수에서 처리중인 태그의 Element 객체를 표현하기 위한 키워드 //→ this : Element 객체, $(this) : jQuery 객체 $(this).css("color",color[i]);//↑랑 같은 결과 }); </script> </body> </html>
📌$(selector).css(name) : 검색 태그의 CSS 스타일 속성값을 반환하는 메소드
alert("결과 = "+$("#displayDiv").css("margin"));//결과 = 20px alert("결과 = "+$("#displayDiv").css("padding"));//결과 = 10px alert("결과 = "+$("#displayDiv").css("color"));//결과 = rgb(255, 0, 0) alert("결과 = "+$("#displayDiv").css("border"));//결과 = 1px solid rgb(0, 0, 255)◈ CSS 스타일 속성을 자바스크립트의 카멜표기법으로 표현하여 사용 가능
//alert("결과 = "+$("#displayDiv").css("font-size"));//결과 = 24px alert("결과 = "+$("#displayDiv").css("fontSize"));//결과 = 24px //alert("결과 = "+$("#displayDiv").css("text-align"));//결과 = center alert("결과 = "+$("#displayDiv").css("textAlign"));//결과 = center
📌$(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"});
📃07_css.html
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>jQuery</title> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script> <style type="text/css"> #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> <script type="text/javascript"> //$(selector).css(name) : 검색 태그의 CSS 스타일 속성값을 반환하는 메소드 //alert("결과 = "+$("#displayDiv").css("margin"));//결과 = 20px //alert("결과 = "+$("#displayDiv").css("padding"));//결과 = 10px //alert("결과 = "+$("#displayDiv").css("color"));//결과 = rgb(255, 0, 0) //alert("결과 = "+$("#displayDiv").css("border"));//결과 = 1px solid rgb(0, 0, 255) //alert("결과 = "+$("#displayDiv").css("font-size"));//결과 = 24px //CSS 스타일 속성을 자바스크립트의 카멜표기법으로 표현하여 사용 가능 //alert("결과 = "+$("#displayDiv").css("fontSize"));//결과 = 24px //alert("결과 = "+$("#displayDiv").css("text-align"));//결과 = center //alert("결과 = "+$("#displayDiv").css("textAlign"));//결과 = center //============================================================================== //$(selector).css(name,value) : 검색 태그의 CSS 스타일 속성값을 변경하는 메소드 //$("#displayDiv").css("width","50%"); //$("#displayDiv").css("position","absolute"); //$("#displayDiv").css("top","200px"); //$("#displayDiv").css("left","100px"); // //↑를 object 객체로 전달 //검색 태그에서 다수의 CSS 스타일을 변경할 경우 css 메소드의 매개변수에 JSON 형식의 Object 객체를 전달해 객체의 요소값으로 CSS 스타일 속성의 속성값 변경 가능 $("#displayDiv").css({"width":"50%","position":"absolute","top":"200px","left":"100px"}); </script> </body> </html>
📌$(selector).attr(name) : 검색된 태그의 태그 속성값을 반환하는 메소드
alert("결과 = "+$("#imgDiv").attr("data-value"));//결과 = KoalaImages
※ 카멜표기법으로 바꾸면 에러 발생alert("결과 = "+$("#imgDiv").attr("dataValue"));─────────────────────────────────────
alert("결과 = "+$("#img").attr("src"));//결과 = images/Koala.jpg
//$(selector).attr(name,value) : 검색된 태그의 태그 속성값을 변경하는 메소드 //$("#img").attr("src","images/Penguins.jpg"); //$("#img").attr("width","300");↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑같은 결과값↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
🌠검색된 태그에서 다수의 태그 속성값을 변경할 경우 attr 메소드의 매개변수에 JSON 형식의 Object 객체를 전달해 객체의 요소값으로 태그 속성의 속성값 변경 가능
$("#img").attr({"src":"images/Penguins.jpg","width":"300"});
📃08_attr.html
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>jQuery</title> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script> </head> <body> <h1>attr 메소드</h1> <hr> <div id="imgDiv" data-value="KoalaImages"> <img alt="코알라" src="images/Koala.jpg" width="200" id="img"> </div> <script type="text/javascript"> //$(selector).attr(name) : 검색된 태그의 태그 속성값을 반환하는 메소드 //alert("결과 = "+$("#imgDiv").attr("data-value"));//결과 = KoalaImage //alert("결과 = "+$("#imgDiv").attr("dataValue"));//카멜표기법으로 바꾸면 에러 발생 //============================================================================== //alert("결과 = "+$("#img").attr("src"));//결과 = images/Koala.jpg //============================================================================== /* //$(selector).attr(name,value) : 검색된 태그의 태그 속성값을 변경하는 메소드 $("#img").attr("src","images/Penguins.jpg"); $("#img").attr("width","300"); */ // //↑랑 같은 결과 //검색된 태그에서 다수의 태그 속성값을 변경할 경우 attr 메소드의 매개변수에 JSON 형식의 Object 객체를 전달해 객체의 요소값으로 태그 속성의 속성값 변경 가능 $("#img").attr({"src":"images/Penguins.jpg","width":"300"}); //============================================================================== </script> </body> </html>