Dev/JavaScript

[JavaScript] innerHTML / innerText / textContent 의 차이점

BiCute 2022. 5. 22. 10:00
반응형

막상 사용해보면 비슷한데,

조금씩 용도가 다른 innerHTML / innerText / textContent 의 차이점입니다.

 

 


- Setting -

// HTML
  <div id="textbox">
    헬로    월드
    <span style='color: red'>헬로   자바스크립트</span>
    <span style='display: none'>숨겨놓은 글</span>
  </div>


// JavaScript
  let $textbox = document.getElementById('textbox');

 

 


innerHTML

console.log($textbox.innerHTML);

  해당 요소의 HTML값을 그대로 가져옵니다.

 

 

출력 결과

"
  헬로    월드
  <span style='color: red'>헬로   자바스크립트</span>
  <span style='display: none'>숨겨놓은 글</span>
"

※ console.log나 alert 등으로 출력을 할경우 내부 태그도 함께 보이지만, 당연하게도 document.write로 출력할 경우엔 태그 속성이 적용된 [헬로 월드 헬로 자바스크립트]로 출력됩니다.

 

 


innerText

console.log($textbox.innerText);

  해당 요소를 통하여 사용자에게 보여지는 값을 출력합니다.

  연속된 공백은 자동으로 하나의 공백만 남기게 되며, 보이지 않는 요소(display: none)는 표시하지 않습니다.

 

 

출력 결과

"헬로 월드 헬로 자바스크립트"

 

 


textContent

console.log($textbox.textContent);

  마크업 태그를 제외한 문자열을 출력합니다.

  공백 또한 그대로 표시되며, 보여지지 않은 텍스트 또한 출력할 수 있습니다.

  

 

출력 결과

"
  헬로    월드
  헬로   자바스크립트
  숨겨놓은 글
"

 

 

 

반응형