HTML Javascript) innerText vs innerHTML

2020.03.13 16:43

졸리운_곰 조회 수:425

Javascript) innerText vs innerHTML

자바스크립트 코드로 div 내부 글 p 태그 내부 등 내부의 글을 가져올때

innerText 또는 innerHTML 을 사용한다.

또는 반대의 경우 가져올때 입력할때 !

 

  • 자기소개서에서 글자수를 체크 해줄때
  • 입력 정보를 활용해서 뭔가를 하고싶을때 등등

여러가지 경우에서 내부의 텍스트값을 가져오고 싶을수 있다.

 

또는

  • 어떤 값을 넣고 싶을때
  • 사용자의 동작에 따라 HTML을 수정하고 싶을때 등

이렇게 반대의 경우로도 이용가능하다.

 

 

이 둘의 차이점을 알아보자.

 

JS에서 주의 : 대소문자를 틀리면 브라우저에서 작동을 안할수 있다.

 

 

차이를 알아보기 위해 HTML 코드를 다음과 같이 작성했다.

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title></title>
</head>
<body>
	<p id="test">안녕하세요 <span>ㅎㅎ</span></p>
	<script type="text/javascript">
		alert(document.getElementById("test").innerText); //hi098123.tistory.com
		alert(document.getElementById("test").innerHTML); //hi098123.tistory.com
	</script>
</body>
</html>
HTML

 

이렇게 작성하면 결과는?

 

innerText

안녕하세요 ㅎㅎ
HTML

사용자에 보이는 텍스트값만을 가져온다.

복사 붙여 넣기 할때 "텍스트만 붙여넣기" 같은 느낌

 

innerHTML

안녕하세요 <span>ㅎㅎ</span>
HTML

HTML 구조까지 모두 복사한다.

innerHTML 을 이용해 HTML을 로딩후에 자바스크립트로 수정도 가능하고

 

수정 예시

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title></title>
</head>
<body>
	<p id="test">안녕하세요 <span>ㅎㅎ</span></p>
	<script type="text/javascript">
		document.getElementById("test").innerHTML="안녕 ㅎ"; //hi098123.tistory.com
	</script>
</body>
</html>
HTML

소스코드 작동 과정

  1. 로딩 이후 id 가 test인 값을 찾는다
  2. 내부의 HTML 코드를 "안녕 ㅎ" 로 바꾼다.

 

 

innerHTML 은 태그 같은것도 써서

document.getElementById("test").innerHTML='<a href="https://hi098123.tistory.com">안녕 ㅎ</a>';
JavaScript

이와 같이 사용도 가능하다.

[출처] https://hi098123.tistory.com/83

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
13 [웹 어셈블리, WSAM] Persisting data with Emscripten : Emscripten으로 데이터 유지하기 졸리운_곰 2024.04.20 381
12 [웹 어셈블리, WSAM] Porting a Linux Program to Run in Browser using Emscripten : mscripten을 사용하여 브라우저에서 실행되도록 Linux 프로그램 포팅 졸리운_곰 2024.04.20 392
11 [웹 어셈블리, WSAM] An example of emscripten with WebSocket. file 졸리운_곰 2023.12.12 462
10 [웹 어셈블리, WSAM] サーバサイドはWebAssemblyの夢を見るか? – Node.jsでwasmってみた : 서버 측은 WebAssembly의 꿈을 꾸는가? – Node.js에서 wasm 해 보았습니다. file 졸리운_곰 2023.08.27 365
9 [웹 어셈블리 WSAM, webassembly] WebAssembly on the server-side : 서버측 웹어셈블리 file 졸리운_곰 2023.08.27 504
8 [Blazor][WASM] Awesome Blazor file 졸리운_곰 2021.08.15 20070
7 [Blazor][C# .net] Blazor와 C#으로 풀스택 웹 개발하기 file 졸리운_곰 2021.08.15 444
6 [WASM][web assembly] 웹 어셈블리를 보다 쉽게 웹 어플리케이션에 적용하는 방법 file 졸리운_곰 2021.07.19 426
5 Using Blazor, Tensorflow and ML.NET to Identify Images file 졸리운_곰 2021.07.03 529
4 [WASM][WebAssembly] The Top 81 Emscripten Open Source Projects 졸리운_곰 2021.04.19 518
3 [WebAssembly][WSAM] Blazor와 WebAssembly 소개 file 졸리운_곰 2021.03.28 516
2 Webassembly Tutorial using Emscripten file 졸리운_곰 2020.10.24 646
1 [웹어셈블리] Visual Studio 2019와 Emscripten (emcc) 개발 file 졸리운_곰 2020.10.18 2094
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED