- Element의 속성으로 해당 Element의 HTML, XML을 읽어오거나, 설정할 수 있다.
- innerHTML을 사용할 경우 태그 및 스타일을 별도로 지정할 수 있다.
<p id="txt">innerhtml text</p>
const txt = document.getElementById('txt');
txt.innerHTML = `<span style="color:blue">INNERHTML TEXT</span>`;
txt.innerHTML = ""
를 사용해 비울 수 있다.
- innerText는 Element 속성으로 사용자에게 보여지는 텍스트 값을 읽어온다.
<div id="txt" style="color: blue;">
innerTEXT
<span style="display: none;">hidden text</span>
</div>
const txt = document.getElementById('txt');
alert(txt.innerText);
- textContent는 innerText와 다르게 임의 스타일로 인해 보이지 않는 텍스트가 있어도 함께 반환한다.
- innerText과 동일하기 텍스트 값만을 읽어오기에 태그내에 스타일 혹은 클래스를 지정하여도 텍스트 그 자체로 반환된다.
const txt = document.getElementById('txt');
alert(txt.textContent);
txt.textContent = `<span style="color:blue">textContent TEXT</span>`;
정리하자면
1. innerText, textContent는 해당 요소의 style을 지정할 수 없이 텍스트 값에만 접근할 수 있다.
2. innerHTML을 사용해 HTML 요소를 JavaScript를 이용해 변경하고자 하는 내용 및 스타일로 쉽게 변경할 수 있는 것이다.