jennet1 님의 블로그

JS [DOM TEXT] 본문

WEB/JS

JS [DOM TEXT]

jennet1 2024. 9. 21. 18:00

InnerHTML, innerText, textContent HTML

* 요소의 내용을 가져오거나 수정하는 방식인 3가지 방법에 대해 알아보자

 

1. InnerHTML

기능 : 요소의 HTML 코드를 포함한 내용을 가져오거나 수정할 떄 사용한다.

  • HTML 태그와 태그 안에 내용을 모두 포함한다.
  • HTML을 추가할 때 문자열로 작성된 HTML 태그가 그대로 랜더링 된다.
  • 보안에 주의해야한다. 사용자 입력을 InnerHTML 로 삽입하면 XSS 공격의 위험이 있다
// <div id="example"><p>안녕하세요!</p></div>
const exampleDiv = document.getElementById('example');

// innerHTML을 사용해 HTML 태그와 내용을 모두 가져옴
console.log(exampleDiv.innerHTML);  // "<p>안녕하세요!</p>"

// innerHTML을 사용해 HTML 구조를 포함하여 수정 가능
// 해당 태그를 사용하면 그 태그에 맞게 적용된다.
exampleDiv.innerHTML = '<p>새로운 내용!</p><strong>강조된 텍스트</strong>';

2. innerText

기능 : 요소의 텍스트 내용만 가져오거나 수정할 때 사용한다.

특징 : 

  • 요소 내의 텍스트만 반환한다. HTML 태그는 무시되고, 화면에 랜더링된 텍스트 형태로만 가져온다.
  • 사용자에게 화면에 보이는 그대로의 텍스트만 가져온다.
  • CSS로 숨겨진 요소의 텍스트는 무시된다.
// <div id="example"><p>안녕하세요!</p></div>
const exampleDiv = document.getElementById('example');

// innerText를 사용해 HTML 태그는 무시하고 텍스트만 가져옴
console.log(exampleDiv.innerText);  // "안녕하세요!"

// innerText를 사용해 텍스트 내용만 수정 가능
exampleDiv.innerText = '새로운 텍스트!';

3. textContent

기능 : 요소의 텍스트 내용만 가져오거나 수정할 때 사용한다. (태그 무시)

// <div id="example"><p>안녕하세요!</p></div>
const exampleDiv = document.getElementById('example');

// textContent를 사용해 HTML 태그는 무시하고 텍스트만 가져옴
console.log(exampleDiv.textContent);  // "안녕하세요!"

// textContent를 사용해 텍스트 내용만 수정 가능
exampleDiv.textContent = '새로운 텍스트 내용!';

 

특징  

  • 모든 텍스트를 가져온다 html 태그는 무시되며 텍스트만 반환
  • CSS 로 숨겨진 텍스트도 포함하여 반환한다.
  • 보이지 않는 텍스트까지 포함한 전체 텍스트를 가져올 때 유용하다.

 

결과값

 

 

'WEB > JS' 카테고리의 다른 글

JS [random]  (0) 2024.09.23
JS [children childrenNodes]  (0) 2024.09.22
JS [DOM]  (0) 2024.09.21
JS [함수]  (0) 2024.09.20
배열 다루기  (0) 2024.09.20