DevLog

DOM : innerHTML과 textContent의 차이 본문

🧑🏻‍💻 개발개발/기타

DOM : innerHTML과 textContent의 차이

Seungjae Lee 2021. 6. 2. 01:05

문) 아이디가 "javascript"이고, 내용이 "awesome"인 a 태그를 생성하기 위해 옳은 방법은?

let aElement = document.createElement('a')
aElement.setAttibute('id', 'javascipt')
aElement.textContent = 'awesome'
/* 이 방법이 가장 적합합니다. 
setAttribute 메소드를 통해서 명확하게 어떤 값이 key이고 value인지 지정해주었고, 
textContent를 사용했기 때문입니다. */

 let aElement = document.createElement('a')
 aElement.id = 'javascipt'
 aElement.innerHTML = 'awesome'
/* 이 방법도 되긴 하는데, innerHTML 사용은 꼭 필요하지 않으면 지양하는 것이 좋습니다. 
HTML tag를 직접 삽입하여 실행하는 형태의 메소드는 늘 이런 위험을 가지고 있습니다. 
<script> tag를 활용하여 강제로 해커가 원하는 스크립트를 실행시키는 XSS Attack이 대표적입니다. 
공격의 여지를 주지 않게 개발하는 것이 가장 좋습니다. */

 

 

Comments