Web/[JS] FrontEnd

innerHTML, innerText, textContent

ihl 2020. 12. 30. 00:02

태그 안의 내용에 접근하는 사용하는 속성은 innerHTML, innerText, textContent가 있다.

 

See the Pen Load innerText/textContent by ImHyeLim1209 (@imhyelim1209) on CodePen.

 

1. innerHTML

  innerHTML은 태그를 포함한 내용이다. 태그를 포함한 내용을 가져오거나 아래와 같이 태그가 포함된 내용으로 바꿀 때 사용한다. textContent에 비해 느리고 보안 위협이 있다.

$0.innerHTML = '<a href = "https://naver.com">link</a>'

 

2. innerText

  렌더링된 텍스트를 보여준다. 즉, 태그가 제외된 문자열만 보여준다. <br>태그는 인식되며, 숨겨진 요소(display:none)는 보여주지 않는다. 잘 사용하지 않는 속성이다.

 

3. textContent

  실제 코드의 줄바꿈을 포함한 텍스트를 그대로 보여준다. 따라서 <br>태그가 인식되지 않으며 숨겨진 요소의 내용도 보여준다. textContent를 이용하여 내용을 바꿀 때 태그를 넣을 수 없다.(태그를 넣으면 문자열로 입력된다.)

 

 


참고 사이트

developer.mozilla.org/ko/docs/Web/API/Node/innerText

 

Node.innerText - Web API | MDN

HTMLElement 인터페이스의 innerText 속성은 요소와 그 자손의 렌더링 된 텍스트 콘텐츠를 나타냅니다. innerText는 사용자가 커서를 이용해 요소의 콘텐츠를 선택하고 클립보드에 복사했을 때 얻을 수

developer.mozilla.org