DOM 조작할 때 무심코 사용하는 innerHTML
, innerText
, textContent
. 이름은 비슷한데 작동 방식은 미묘하게 다르다.
아래의 간단한 예제를 통해 이 차이를 명확히 이해해보자.
<div id='content'>
안녕~
<span style='display:none'>innerText는 나를 볼 수 없어😏</span>
</div>
// 결과:
안녕~
<span style='display:none'>innerText는 나를 볼 수 없어😏</span>
// 결과:
안녕~
// 결과:
안녕~
innerText는 나를 볼 수 없어😏
목적 | 적절한 속성 |
---|---|
HTML 구조를 수정하거나 저장할 때 | innerHTML |
사용자에게 보여지는 텍스트만 추출 | innerText |
숨김 요소 포함 전체 텍스트 추출 | textContent |
비슷해 보이지만 실제로는 쓰임새가 완전히 다른 세 속성. 기능을 정확히 알고 써야 버그 없는 코드를 짤 수 있다.
DOM을 다루는 웹 개발자라면 반드시 숙지해야 할 차이점이다.