--- title: Node.textContent slug: Web/API/Node/textContent tags: - API - DOM - Node - Property - Reference translation_of: Web/API/Node/textContent ---
{{APIRef("DOM")}}

{{domxref("Node")}} 인터페이스의 textContent 속성은 노드와 그 자손의 텍스트 콘텐츠를 표현합니다.

참고: textContent와 {{domxref("HTMLElement.innerText")}}가 자주 혼동되곤 하지만, 두 속성에는 {{anch("innerText와의 차이점", "몇 가지 중요한 차이점")}}이 있습니다.

구문

let text = someNode.textContent
someOtherNode.textContent = string

문자열 또는 {{jsxref("null")}}.

설명

textContent의 값은 상황에 따라 다릅니다.

노드의 textContent를 설정하면, 노드의 모든 자식을 주어진 문자열로 이루어진 하나의 텍스트 노드로 대치합니다.

innerText와의 차이점

비록 Node.textContent와 {{domxref("HTMLElement.innerText")}}의 이름이 유사하긴 하지만, 중요한 차이가 있으므로 헷갈리지 마세요.

innerHTML과의 차이점

{{domxref("Element.innerHTML")}}는 이름 그대로 HTML을 반환합니다. 간혹 innerHTML을 사용해 요소의 텍스트를 가져오거나 쓰는 경우가 있지만, HTML로 분석할 필요가 없다는 점에서 textContent의 성능이 더 좋습니다.

이에 더해, textContentXSS 공격의 위험이 없습니다.

예제

다음과 같은 HTML 조각에서...

<div id="divA">This is <span>some</span> text!</div>

textContent를 사용해 요소의 텍스트 콘텐츠를 가져오거나...

let text = document.getElementById('divA').textContent;
// The text variable is now: 'This is some text!'

텍스트 내용을 설정할 수 있습니다.

document.getElementById('divA').textContent = 'This text is different!';
// The HTML for divA is now:
// <div id="divA">This text is different!</div>

브라우저 호환성

{{Compat("api.Node.textContent")}}

명세

Specification Status Comment
{{SpecName('DOM WHATWG','#dom-node-textcontent','Node.textContent')}} {{Spec2('DOM WHATWG')}}

참고