Text.splitText() 메소드는 Text 노드를 지정된 오프셋에서 두 노드로 분리합니다. 두 노드는 sibling으로써 트리에 유지됩니다.

분리한 이후, 현재 노드는 지정된 오프셋 지점까지의 모든 컨텐츠를 포함하며, 새롭게 생성된 같은 타입의 노드는 남아있는 텍스트를 포함합니다. 새롭게 생성된 노드는 호출자에게 반환됩니다. 기존 노드가 부모를 갖고 있다면, 새 노드는 기존 노드의 다음 sibling으로 삽입됩니다. 기존 노드의 길이와 오프셋이 동일하다면, 새롭게 생성된 노드는 데이터를 갖지 않습니다.

분리된 텍스트 노드는 Node.normalize() 메소드를 사용해 이어붙혀질 수 있습니다.

지정된 오프셋이 음수이거나 노드의 텍스트의 16 비트 단위의 수보다 크면 INDEX_SIZE_ERR 값을 갖는 DOMException 을 throw됩니다. NO_MODIFICATION_ALLOWED_ERR 값을 갖는 DOMException 은 노드가 읽기 전용일 때 throw됩니다.

문법

replacementNode = textnode.splitText(offset) 

예제

이 예제에서 <p> 텍스트 노드는 두 텍스트 노드로 분리되며 그 사이에 <span> 이 삽입됩니다.

<body>
  <p id="p">foobar</p>

  <script type="text/javascript">
    var p = document.getElementById('p');
    var textnode = p.firstChild;

    // foo 와 bar 사이를 분리
    var replacementNode = textnode.splitText(3);

    // ' span contents ' 를 포함하는 span을 생성
    var span = document.createElement('span');
    span.appendChild(document.createTextNode(' span contents '));

    // 'bar' 앞에 span을 추가
    p.insertBefore(span, replacementNode);

    // 결과: <p id="p">foo<span> span contents </span>bar</p>
  </script>
</body>

명세

명세 상태 코멘트
DOM
The definition of 'Text.splitText' in that specification.
Living Standard Document Object Model (DOM) Level 3 Core Specification 로부터 변경 사항 없음.
Document Object Model (DOM) Level 3 Core Specification
The definition of 'Text.splitText' in that specification.
Obsolete Document Object Model (DOM) Level 2 Core Specification 로부터 변경 사항 없음.
Document Object Model (DOM) Level 2 Core Specification
The definition of 'Text.splitText' in that specification.
Obsolete Document Object Model (DOM) Level 1 Specification 로부터 변경 사항 없음.
Document Object Model (DOM) Level 1 Specification
The definition of 'Text.splitText' in that specification.
Obsolete 초기 정의.

브라우저 호환성

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
Basic supportChrome Full support 1
Notes
Full support 1
Notes
Notes Before Chrome 30, the offset argument was optional.
Edge Full support YesFirefox Full support 1IE Full support YesOpera Full support Yes
Notes
Full support Yes
Notes
Notes Before Opera 17, the offset argument was optional.
Safari Full support Yes
Notes
Full support Yes
Notes
Notes The offset argument is optional.
WebView Android Full support Yes
Notes
Full support Yes
Notes
Notes Before version 4.4, the offset argument was optional.
Chrome Android Full support 18
Notes
Full support 18
Notes
Notes Before Chrome 30, the offset argument was optional.
Edge Mobile ? Firefox Android Full support 4Opera Android Full support Yes
Notes
Full support Yes
Notes
Notes Before Opera 17, the offset argument was optional.
Safari iOS Full support Yes
Notes
Full support Yes
Notes
Notes The offset argument is optional.
Samsung Internet Android ?

Legend

Full support  
Full support
Compatibility unknown  
Compatibility unknown
See implementation notes.
See implementation notes.

함께 보기

문서 태그 및 공헌자

태그: 
이 페이지의 공헌자: cs09g
최종 변경자: cs09g,