Web/자바스크립트
innerText / innerHTML 비교
챈박
2022. 3. 29. 21:41
값 가져오기 (innerText vs innerHTML)
이 두 속성은 다루는 값이 text element인지, html element인지에 따라 사용법이 다르다.
<div id='content'>
<div>A</div>
<div>B</div>
</div>
<input
type='button'
value='innerText()'
onclick='getInnerText()' />
<input
type='button'
value='innerHTML()'
onclick='getInnerHTML()' />
function getInnerText() {
const element = document.getElementById('content');
alert(element.innerText);
// A
// B
}
function getInnerHTML() {
const element = document.getElementById('content');
alert(element.innerHTML);
// <div>A</div>
// <div>B</div>
}
element.innerText;
이 속성은 element 안의 text 값들만을 가져옵니다.
element.innerHTML;
innerText와는 달리 innerHTML은 element 안의 HTML이나 XML을 가져옵니다.
값 설정하기 (innerText vs innerHTML)
<div id='content'>
</div>
<input
type='button'
value='innerText()'
onclick='setInnerText()' />
<input
type='button'
value='innerHTML()'
onclick='setInnerHTML()' />
function setInnerText() {
const element = document.getElementById('content');
element.innerText = "<div style='color:red'>A</div>";
}
// <div style='color:red'>A</div>
function setInnerHTML() {
const element = document.getElementById('content');
element.innerHTML = "<div style='color:red'>A</div>";
}
// A
<- innerText() 버튼 클릭
<- innerHTML() 버튼 클릭
element.innerText = "<div style='color:red'>A</div>";
element.innerText에 html을 포함한 문자열을 입력하면,
html코드가 문자열로 element안에 포함되어 문자열이 html 코드라도 html코드로서 적용이 되지 않는다.
(단순한 문자열로 해당 element 안에 삽입)
element.innerHTML = "<div style='color:red'>A</div>";
위와 같이 element.innerHTML 속성에 html코드를 입력하면,
html 코드가 적용이 되어 해당 element 안에 적용 된다.
위 예제에서 'innerHTML()'을 클릭하면,
입력된 html태그가 해석되어 빨간색A 가 나타나는 것을 확인 할 수 있다.
반응형