SeouliteLab

jQuery의 .pushStack() 메소드: 요소 스택 조작하기 본문

프로그래밍

jQuery의 .pushStack() 메소드: 요소 스택 조작하기

Seoulite Lab 2024. 4. 5. 09:48

jQuery의 .pushStack() 메소드는 요소 스택을 조작하여 새로운 요소를 스택의 맨 위에 추가하거나 현재 요소 스택을 복사하여 새로운 jQuery 객체를 생성합니다. 이를 통해 요소 선택 결과를 다양한 방법으로 조작하고 활용할 수 있습니다. 여러 예제를 통해 이 메소드를 자세히 살펴보겠습니다.

예제 1: 새로운 요소 추가하기

<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>jQuery .pushStack() 예제</title>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
$(document).ready(function() {
  var divStack = $("div").pushStack("<span>새로운 요소</span>");
  console.log(divStack);
});
</script>
</head>
<body>

<div>기존 요소 1</div>
<div>기존 요소 2</div>

</body>
</html>

출력 결과: 콘솔에는 새로운 요소가 추가된 요소 스택이 출력됩니다.

예제 2: 요소 스택 복사하기

<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>jQuery .pushStack() 예제</title>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
$(document).ready(function() {
  var originalStack = $("div");
  var copiedStack = originalStack.pushStack();
  console.log(copiedStack);
});
</script>
</head>
<body>

<div>기존 요소 1</div>
<div>기존 요소 2</div>

</body>
</html>

출력 결과: 콘솔에는 복사된 요소 스택이 출력됩니다.

예제 3: 필터링 후 요소 추가하기

<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>jQuery .pushStack() 예제</title>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
$(document).ready(function() {
  var filteredStack = $("div").filter(":even").pushStack("<span>짝수 요소</span>");
  console.log(filteredStack);
});
</script>
</head>
<body>

<div>기존 요소 1</div>
<div>기존 요소 2</div>
<div>기존 요소 3</div>
<div>기존 요소 4</div>

</body>
</html>

출력 결과: 콘솔에는 짝수 번째 요소에 새로운 요소가 추가된 요소 스택이 출력됩니다.

예제 4: 기존 스택 유지하기

<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>jQuery .pushStack() 예제</title>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
$(document).ready(function() {
  var originalStack = $("div");
  var newStack = originalStack.pushStack("<span>새로운 요소</span>");
  console.log("새로운 스택:", newStack);
  console.log("기존 스택:", originalStack);
});
</script>
</head>
<body>

<div>기존 요소 1</div>
<div>기존 요소 2</div>

</body>
</html>

출력 결과: 새로운 스택과 기존 스택이 각각 콘솔에 출력됩니다.

예제 5: 새로운 요소 스택으로 체이닝하기

<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>jQuery .pushStack() 예제</title>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
$(document).ready(function() {
  var newStack = $("<div>새로운 요소</div>").

pushStack("<span>추가 요소</span>").appendTo("body");
  console.log(newStack);
});
</script>
</head>
<body>

</body>
</html>

출력 결과: 새로운 요소 스택이 생성되고 body 요소에 추가됩니다.