본문 바로가기
프로그래밍 개발/JS 웹

Javascript Text 객체 - 조작 API

by Jinseok Kim 2020. 11. 20.
반응형

 

 

조작 API

 

 

 

텍스트 노드가 상속 받은 CharacterData 객체는 문자를 제어할 수 있는 다양한 API를 제공한다. 

 

 

 

  • appendData() : 인자에 입력된 데이터를 텍스트 마지막 끝에 붙여놓는다.
  • deleteData() :  입력한 데이터를 받은 인자의 start 와 end value 값이 (start value 값)번째 문자 이후부터 시작하여 (end value 값)번째까지 텍스트를 삭제하도록 한다.
  • insertData() : 입력한 데이터를 받은 인자의 start value 값이 (value 값)번째 문자 사이에 데이터 텍스트가 들어가게 된다.
  • replaceData() : 입력한 데이터를 받은 인자의 start value와 end value 값이 (start value 값)번째 문자 사이의 데이터부터 시작하여 (end value 값)번째 문자까지 입력한 데이터가 교환된다.
  • substringData() : 입력한 데이터를 받은 인자의 start 와 end value 값이 (start value 값)번째 문자 이후부터 시작하여 (end value 값)번째까지 호출할 수 있도록 한다.

 

 

 

<!DOCTYPE html>
<html>
<head>
    <style>
    #target{
        font-size:77px;
        font-family: georgia;
        border-bottom:1px solid black;
        padding-bottom:10px;
    }
    p{
        margin:5px;
    }
    </style>
</head>
<body>
<p id="jinseok">kim jin seok</p>
<p> data : <input type="text" id="datasource" value="★" /></p>
<p>   start :<input type="text" id="start" value="5" /></p>
<p> end : <input type="text" id="end" value="5" /></p>
<p><input type="button" value="appendData(data)" onclick="callAppendData()" />
<input type="button" value="deleteData(start,end)" onclick="callDeleteData()" />
<input type="button" value="insertData(start,data)" onclick="callInsertData()" />
<input type="button" value="replaceData(start,end,data)" onclick="callReplaceData()" />
<input type="button" value="substringData(start,end)" onclick="callSubstringData()" /></p>
<script>
    var target = document.getElementById('jinseok').firstChild;
    var data = document.getElementById('datasource');
    var start = document.getElementById('start');
    var end = document.getElementById('end');
    function callAppendData(){
        target.appendData(data.value);
    }
    function callDeleteData(){
        target.deleteData(start.value, end.value);
    }
    function callInsertData(){
        target.insertData(start.value, data.value); 
    }
    function callReplaceData(){
        target.replaceData(start.value, end.value, data.value);
    }
    function callSubstringData(){
        alert(target.substringData(start.value, end.value));
    }
</script>
</body>
</html>

data.value를 하게 되면 ★가 뜨게 되는데 data.value='asd'로 고쳐도 input 태그의 value값은 그대로 ★이다. 이는 attribute value와 property value가 다르게 때문이다. 속성 value는 처음 그 text box에 뜨는 문구이고 프로퍼티 value는 그 입력창에 입력된 값을 가진다. 따라서 속성 value로 ★가 되어있으니 입력창에 그것이 뜨고 이것은 프로퍼티의 value값으로 자동으로 들어가게 된다. 프로퍼티의 value값을 고쳐도 둘은 다른 값이라 속성 value는 바뀌지 않는다.

버튼을 누르기 전 초기 화면

 

appendDate 버튼을 누를 때

 

deleteDate 버튼을 누를 때

 

insertDate 버튼을 누를 때

 

replaceDate 버튼을 누를 때

 

substringDate 버튼을 누를 때

 

 

 

 

 

 

반응형

'프로그래밍 개발 > JS 웹' 카테고리의 다른 글

Javascript 이벤트  (0) 2020.11.23
Javascript 문서의 기하학적 특성  (0) 2020.11.23
Javascript Text 객체 - 값 API  (0) 2020.11.20
Javascript Text 객체  (0) 2020.11.20
Javascript Document 객체  (0) 2020.11.20

댓글