Jquery-활용-속성변경
2024. 11. 12. 21:52

사용한 핵심 jQuery 메서드 정리 (개념 요약)

목적 메서드 설명
속성 읽기 .attr("속성") HTML 속성 값 가져오기
속성 변경 .attr("속성", 값) 단일 속성 변경
여러 속성 변경 .attr({}) 객체로 여러 속성 한 번에 변경
속성 제거 .removeAttr() HTML 속성 자체 제거
CSS 변경 .css() 스타일 변경
내용 변경 .html() 태그 포함 내용 변경
내용 삭제 .empty() 자식 요소만 삭제
요소 삭제 .remove() 요소 자체 삭제
요소 생성 $("<태그/>") 동적 생성
삽입 .appendTo() 자식 끝에 추가
삽입 .prependTo() 자식 처음에 추가
형제 삽입 .insertBefore() 특정 요소 앞에 추가
형제 삽입 .insertAfter() 특정 요소 뒤에 추가

버튼별 동작 정리

🔹 속성 읽기 (Getter)

var src1 = $("#here img:nth-child(1)").attr("src");
console.log(src1);

 

🔹 개별 속성 변경

 
$("#here img:nth-child(1)").css("border","5px dotted red");
$("#here img:nth-child(1)").attr("width", function(index){ return 300*(index+1) });
$("#here img:nth-child(1)").attr("height","250px");
 

👉 포인트

  • .css()로 스타일 변경
  • .attr() + 콜백 함수로 동적 값 계산

🔹 객체로 여러 속성 한 번에 변경

var obj = {"width":"250px","height":"250px"};
$("#here img:nth-child(2)").attr(obj);
 

👉 포인트

  • 여러 속성 → 객체로 한 번에 변경

🔹 전체 이미지 속성 변경 (콜백 사용)

var obj = {
  "width": function(index){ return 150*(index+1); },
  "height": function(index){ return 150*(index+1); }
};
$("#here img").attr(obj);
 

👉 포인트

  • index 활용한 동적 크기 조절

🔹 CSS 일괄 변경 (함수형 스타일)

$("#here img").css("border", function(index){
  return (index+2)*2 + "px dotted blue";
});

👉 포인트

  • 요소마다 다른 스타일 적용 (index 기반)

🔹 속성 제거

$("#here img").removeAttr("width");		
$("#here img").removeAttr("height");
$("#here img").removeAttr("src");

👉 포인트

  • HTML 속성 자체를 삭제 → 이미지 깨짐(의도적 실습 👍)

🔹 h1 배경색 변경 (배열 활용)

var arr = ["lightgreen",'pink','orange','skyblue'];
$("h1").css("backgroundColor", function(index){
  return arr[index];
});
 

👉 포인트

  • 배열 + index로 요소별 스타일 분기

🔹 기존 내용 읽고 추가

$("h1").html(function (index, item){
  return item + `<span>${index+1}</span>`;
});

👉 포인트

  • item = 기존 HTML 내용
  • 읽어서 + 새로운 태그 추가

🔹 내용만 삭제

 
$("#here").empty();

👉 포인트

  • 자식만 삭제, 부모는 남음

🔹 요소 자체 삭제

$("#here").remove();

👉 포인트

  • #here 자체가 사라짐

🔹 동적 요소 생성 & 삽입 (핵심🔥)

 
var arr=[
 "../resources/images/cat.jpg",
 "../resources/images/prod1.jpg",
 "../resources/images/car.jpg",
 "../resources/images/tree.jpg"
];

var img1 = $("<img/>").attr({src:arr[0],alt:"cat이미지",width:"150px"});
var img2 = $("<img/>").attr({src:arr[1],alt:"car이미지",width:"150px"});
var img3 = $("<img/>").attr({src:arr[2],alt:"tree이미지",width:"150px"});
var img4 = $("<img/>").attr({src:arr[3],alt:"sunset이미지",width:"150px"});

// 자식 위치
$(img1).appendTo("#here");   // 맨 뒤
$(img2).prependTo("#here");  // 맨 앞

// 형제 위치
$(img3).insertBefore("#here");
$(img4).insertAfter("#here");

👉 학습 포인트 정리

  • $("<img/>") → 동적 생성
  • .attr({}) → 속성 설정
  • appendTo / prependTo → 자식 위치 제어
  • insertBefore / insertAfter → 형제 위치 제어

4. ‘속성 변경’ 관점에서 핵심 개념 정리 (시험 대비)

✔ ① 속성 읽기 vs 변경

 
// 읽기
var v = $("#img").attr("src");

// 변경
$("#img").attr("src", "new.jpg");

✔ ② 단일 속성 vs 다중 속성

 
// 단일
$("#img").attr("width", "200px");

// 다중
$("#img").attr({
  width:"200px",
  height:"200px"
});

✔ ③ 정적 값 vs 함수형 값

 
// 정적
$("#img").attr("width","200px");

// 동적
$("#img").attr("width", function(i){ return 100*(i+1); });

✔ ④ attr vs css

변경 대상 사용 메서드
HTML 속성 .attr()
스타일 .css()

 

'Front-End' 카테고리의 다른 글

Nginx  (0) 2025.01.21
포맷팅 라이브러리 사용법  (0) 2024.11.21
Jquery-활용(1)  (0) 2024.11.12
Jquery-활용(2)  (0) 2024.11.12
JavaScript-Array  (0) 2024.11.11