반응형
23. jQuery Node 변경 API
jQuery를 이용해서 노드를 제어하는 방법을 알아보자. jQuery에서 노드를 제어하는 기능은 주로 Manipulation 카테고리에 속해 있다.
1) 추가
추가와 관련된 주요한 메소드는 4가지다. 각각의 관계를 그림으로 나타내면 아래와 같다.
<div class="target">
content1
</div>
//타겟 전
<div class="target">
//타겟 바로 이전
content2
//타겟 바로 이후
</div>
//타겟 후
<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
<script>
$('.target').before('<div>before</div>');//타겟의 이전에 들어감
$('.target').after('<div>after</div>');//타겟의 다음에 들어감
$('.target').prepend('<div>prepend</div>');//타겟내의 바로 전에 들어감
$('.target').append('<div>append</div>');//타겟내의 바로 이후에 들어감
</script>
2) 제거
<div class="target" id="target1">
target 1
</div>
<div class="target" id="target2">
target 2
</div>
<input type="button" value="remove target 1" id="btn1" />
<input type="button" value="empty target 2" id="btn2" />
<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
<script>
$('#btn1').click(function(){
$('#target1').remove();
})
$('#btn2').click(function(){
$('#target2').empty();
})
</script>
3) 바꾸기
replaceAll과 replaceWith는 모두 노드의 내용을 교체하는 API이다. replaceWith가 제어 대상을 먼저 지정하는 것에 반해서 replaceAll은 제어 대상을 인자로 전달한다. (실행)
<div class="target" id="target1">
target 1
</div>
<div class="target" id="target2">
target 2
</div>
<input type="button" value="replaceAll target 1" id="btn1" />
<input type="button" value="replaceWith target 2" id="btn2" />
<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
<script>
$('#btn1').click(function(){
$('<div>replaceAll</div>').replaceAll('#target1');//target1을 앞에걸로 바꿈
})
$('#btn2').click(function(){
$('#target2').replaceWith('<div>replaceWith</div>');//target2를 앞에걸로바꿈
})
</script>
4) 복사
<div class="target" id="target1">
target 1
</div>
<div class="target" id="target2">
target 2
</div>
<div id="source">source</div>
<input type="button" value="clone replaceAll target 1" id="btn1" />
<input type="button" value="clone replaceWith target 2" id="btn2" />
<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
<script>
$('#btn1').click(function(){
$('#source').clone().replaceAll('#target1');
})
$('#btn2').click(function(){
$('#target2').replaceWith($('#source').clone());
})
</script>
5) 이동
<div class="target" id="target1">
target 1
</div>
<div id="source">source</div>
<input type="button" value="append source to target 1" id="btn1" />
<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
<script>
$('#btn1').click(function(){
$('#target1').append($('#source'));
})
</script>
'프로그래밍 > 자바스크립트' 카테고리의 다른 글
생활코딩 javascript 정리 - Text 객체 값 API 및 Text 객체 조작 API (0) | 2017.08.05 |
---|---|
생활코딩 javascript 정리 - Text 객체 (0) | 2017.08.05 |
생활코딩 javascript 정리 - Document 객체 (0) | 2017.08.01 |
생활코딩 javascript 정리 - 문자열로 노드 제어 (0) | 2017.07.31 |
생활코딩 javascript 정리 - Node 변경 API (0) | 2017.07.29 |
생활코딩 javascript 정리 - Node 종류 API (0) | 2017.07.27 |
생활코딩 javascript 정리 - Node 관계 API (0) | 2017.07.26 |
생활코딩 javascript 정리 - Node 객체 (0) | 2017.07.24 |