Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 이벤트 위임
- 스크롤
- 이벤트 루프
- animation
- ES6
- async
- object
- Promise
- array
- 모듈
- json
- This
- input
- Push
- 비동기
- ajax
- 문자열
- 이벤트
- IntersectionObserver
- scroll
- slice
- Flex
- video
- 애니메이션
- dom
- ios
- 고차함수
- 클로저
- 배열
- event
Archives
- Today
- Total
FEDev Story
Node 객체 - 문자열로 노드 제어 본문
innerHTML
innerHTML는 문자열로 자식 노드를 만들 수 있는 기능을 제공한다. 또한 자식 노드의 값을 읽어올 수도 있다.
<ul id="target">
<li>HTML</li>
<li>CSS</li>
</ul>
<input type="button" onclick="get();" value="get" />
<input type="button" onclick="set();" value="set" />
<script>
function get(){
var target = document.getElementById('target');
alert(target.innerHTML);
}
function set(){
var target = document.getElementById('target');
target.innerHTML = "<li>JavaScript Core</li><li>BOM</li><li>DOM</li>";
}
</script>
outerHTML
outerHTML은 선택한 엘리먼트를 포함해서 처리된다.
innerText, outerText
innerHtml, outerHTML과 다르게 이 API들은 값을 읽을 때는 HTML 코드를 제외한 문자열을 리턴하고, 값을 변경할 때는 HTML의 코드를 그대로 추가한다.
insertAdjacentHTML()
좀 더 정교하게 문자열을 이용해서 노드를 변경하고 싶을 때 사용한다.
target.insertAdjacentHTML('beforebegin', '<h1>...</h1>');
<code>beforebegin</code>은 target 노드의 앞에 두번째 인자인 H1 노드 객체를 삽입한다.target.insertAdjacentHTML('afterbegin', '<li>...</li>');
<code>afterbegin</code>은 target 노드의 자식 객체 맨 앞에 두번째 인자인 LI 노드 객체를 삽입한다.target.insertAdjacentHTML('afterbegin', '<li>...</li>');
<code>beforeend</code>는 target 노드의 자식 객체 맨 뒤에 두번째 인자인 LI 노드 객체를 삽입한다.target.insertAdjacentHTML('afterend', '<h1>...</h1>');
<code>afterend</code>는 target 노드의 뒤에 두번째 인자인 H1 노드 객체를 삽입한다.
<ul id="target">
<li>CSS</li>
</ul>
<input type="button" onclick="beforebegin();" value="beforebegin" />
<input type="button" onclick="afterbegin();" value="afterbegin" />
<input type="button" onclick="beforeend();" value="beforeend" />
<input type="button" onclick="afterend();" value="afterend" />
<script>
function beforebegin(){
var target = document.getElementById('target');
target.insertAdjacentHTML('beforebegin','<h1>Client Side</h1>');
}
function afterbegin(){
var target = document.getElementById('target');
target.insertAdjacentHTML('afterbegin','<li>HTML</li>');
}
function beforeend(){
var target = document.getElementById('target');
target.insertAdjacentHTML('beforeend','<li>JavaScript</li>');
}
function afterend(){
var target = document.getElementById('target');
target.insertAdjacentHTML('afterend','<h1>Server Side</h1>');
}
</script>
실행결과:Client Side
- HTML
- CSS
- JavaScript
Server Side
'Javascript > DOM' 카테고리의 다른 글
Text 객체 (0) | 2017.02.13 |
---|---|
Document 객체 (0) | 2017.02.12 |
Node 객체 - 노드 변경 API (0) | 2017.02.12 |
Node 객체 - 노드 종류 API (0) | 2017.02.11 |
Node 관계 API (0) | 2017.02.11 |
Comments