본문 바로가기
WEB/JavaScript

문자열로 Node 제어

by 노랑파랑 2016. 10. 16.
반응형


☆ 이전보다 좀 더 편리한 방법!



innerHTML

* 문자열로 자식노드를 만들거나 자식노드의 값을 읽어오는 기능을 제공한다.


- 예제                >실행 화면 링크<

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width"> </head> <body> <ul id="list"> <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 a = document.getElementById('list');    // 해당 아이디의 자식노드 값 반환 alert(a.innerHTML); } function set(){ var a = document.getElementById('list'); a.innerHTML = "<li>JavaScript Core</li><li>BOM</li><li>DOM</li>";    //자식노드를 만든다. } </script> </body> </html>




outerHTML

* 해당 엘리먼트를 포함하여 처리된다


- 예제                >실행 화면 링크<

<ul id="list"> <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 list = document.getElementById('list'); alert(list.outerHTML);    // 해당 아이디를 가진 엘리먼트를 포함하여 자식노드와 반환 } function set(){ var list = document.getElementById('list'); list.outerHTML = "<ol><li>JavaScript Core</li><li>BOM</li><li>DOM</li></ol>"; } </script>




innerText, outerText

* 값을 읽을 때는 HTML 코드를 제외한 문자열을 반환한다.

* 값을 변경 시에는 HTML 코드를 그대로 추가한다.


- 예제             >실행 화면 링크<  

<ul id="list">
    <li>HTML</li>
    <li>CSS</li>
</ul>
<input type="button" onclick="inget();" value="inget" />
<input type="button" onclick="outget();" value="outget" />
<input type="button" onclick="set();" value="set" />
<script>
    function inget(){
        var list = document.getElementById('list');
        alert(list.innerText);   
    }
    function outget(){
        var list = document.getElementById('list');
        alert(list.outerText);
    }
    function set(){
        var list = document.getElementById('list');
        list.innerText = "<li>JavaScript Core</li><li>BOM</li><li>DOM</li>";
    }
</script>




innetHTML                                     innerText

               




insertAdjacentHTML()

* 좀 더 정교하게 문자열을 이용한 노드 제어를 할 때 사용한다.

* 첫 번째 인자로 삽입할 위치를 전달하고, 두번째 인자로는 추가하려는 HTML 코드를 넘겨준다.

- beforebegin  :  해당 엘리먼트의 등장 직전

- afterbegin    :   해당 엘리먼트가 시작된 직후

- beforeend    :    해당 엘리먼트가 끝나지 직전

- afterend       :   해당 엘리먼트가 끝난 직후


- 예제                >실행 화면 링크<

<ul id="list">
    <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 list = document.getElementById('list');
        list.insertAdjacentHTML('beforebegin','<h1>Client Side</h1>');
    }
    function afterbegin(){
        var list = document.getElementById('list');
        list.insertAdjacentHTML('afterbegin','<li>HTML</li>');
    }
    function beforeend(){
        var list = document.getElementById('list');
        list.insertAdjacentHTML('beforeend','<li>JavaScript</li>');
    }
    function afterend(){
        var list = document.getElementById('list');
        list.insertAdjacentHTML('afterend','<h1>Server Side</h1>');
    }
</script>


반응형

'WEB > JavaScript' 카테고리의 다른 글

Text 객체  (0) 2016.10.16
Document 객체  (0) 2016.10.16
Node 객체 : 변경 API  (0) 2016.10.15
Node 객체 : 종류 API  (0) 2016.10.15
Node 객체 : 관계 API  (0) 2016.10.15