강의 컨설팅 트레이닝 무료진단 무료책자 마케팅편지 마케팅정보공유 다이어리 서비스제휴 고객센터

innerTEXT와 innerHTML의 유용함
작성자 : 99 단국강토
등록날짜 : 2009.02.09 09:37
4,049

계속되어 오던 HTML페이지의 refresh문제를 innerHTML을 사용하여 해결하였다.

이것은 iframe과 함께 사용하면 refresh(어떤 방법으로 하던)를 했을 경우 refresh된 frame으로

포커스가 이동되는 것을 막을 수 있다.

또한 아울러 플레시 게시판, 템플릿 방식의 웹페이지등에 응용하면 좋을 것 같다.

아래의 소스로 간단히 테스트 해 볼 수 있으며, 그룹웨어에도 사용하였다.

 

<HTML><HEAD>
<TITLE> innertext와 innerhtml</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
function texttest(){
//m이라는 marquee개체의 innerText속성에"
document.all.m.innerText="<font color=\"red\">월드컵코리아</font>";
}
function htmltest(){
document.all.m.innerHTML="<font color=\"red\">월드컵코리아</font>";
}
function control(v){
document.all.m.direction=v;
}
//-->
</SCRIPT>
</HEAD>
<BODY>
<marquee width="450" height="400" style="background-Color:yellow;colord:red" direction="down"  Scrolldelay=30 id="m"> 마퀴태구.. </marquee><p>
<span style="cursor:hand" Onclick="texttest()">[innerText]</span>
<span style="cursor:hand" Onclick="htmltest()">[innerHTML]</span><p>

<span style="cursor:hand; border-style:solid; border-width:1px; background-Color:#cccccc; padding:10px" Onclick="control(this.innerText)">up</span>
<span style="cursor:hand; border-style:solid; border-width:1px; background-Color:#cccccc; padding:5px" Onclick="control(this.innerText)">down</span>
<span style="cursor:hand; border-style:solid; border-width:1px; background-Color:#cccccc; padding:5px" Onclick="control(this.innerText)">left</span>
<span style="cursor:hand; border-style:solid; border-width:1px; background-Color:#cccccc; padding:5px" Onclick="control(this.innerText)">right</span>
</BODY>
</HTML>

 

 

 

innerText

innerText 속성을 지원하는 객체의 시작 태그와 종료 태그 사이에 있는 텍스트를 설정하거나 가지고 올 수가 있다.

HTML, TABLE, TBODY, TFOOT, THEAD, TR 객체 요소에서의 innerText 속성은 값을 가지고 올 수만 있고 설정할 수는 없다. 테이블과 관련한 요소의 값을 변경하려면 테이블 오브젝트 모델을 별도로 이용해야 한다.

 

innerText의 간단한 예제

아래 단락에 마우스를 올려 놓았다 떼면 텍스트가 동적으로 변하는 것을 확인할 수 있을 것이다.

 

코리아인터넷닷컴에 오신 것을 환영합니다!

 

위 결과에 대한 소스 코드는 다음과 같다.

<p onmouseover="this.innerText='e비즈니스 및 IT 전문가를 위한 지식 미디어!'" onmouseout="this.innerText='코리아인터넷닷컴에 오신 것을 환영합니다!'">코리아인터넷닷컴에 오신 것을 환영합니다!</p>

 

 

innerHTML

innerHTML은 innerHTML 속성을 지원하는 객체의 시작 태그와 종료 태그 사이에 있는 HTML을 설정하거나 가지고 올 수가 있다.

COL, COLGROUP, FRAMESET, HTML, STYLE, TABLE, TBODY, TFOOT, THEAD, TITLE, TR 객체 요소에서의 innerHTML 속성은 값을 가지고 올 수만 있고 설정할 수는 없다.

 

innerHTML 속성은 해당 웹 문서를 완전히 읽어들인 후(onLoad 이벤트 발생 후)에야 사용할 수 있다. innerText는 HTML 태그 조자 텍스트로 인식하지만 innerHTML은 HTML 태그를 해석할 수가 있다.

 

innerHTML의 간단한 예제.

아래 버튼을 클릭하면 이미지가 하나 새로 생겨날 것이다. 해당 이미지를 클릭하면 동적으로 삽입한 스크립트가 실행되는 것을 확인할 수 있을 것이다.

 

소스는 다음과 같다.

위 결과에 대한 소스 코드는 다음과 같다.

<SCRIPT>
    function insertHTML(){
        var strHTML="<a href='javascript:void(0);' onclick='scriptTest()'>

                              <img src='/images/photoshop/020122p_04.jpg' border=0></a>";
        var strScript="<SCRIPT DEFER>";
        strScript = strScript + "function scriptTest(){ alert('동적으로 스크립트를 삽입하는

                                                                              것이 가능합니다!') }";
        strScript = strScript + "</SCRIPT" + ">";
        objImg.innerHTML = strHTML + strScript;
    }    
</SCRIPT>
<input type="button" value="innerHTML예제 보기" onclick="insertHTML()">
<div id=objImg></div>

위 소스 코드를 보면 알겠지만 이미지 삽입과 스크립트 삽입은 웹 문서를 다 읽은 후 동적으로 생성하고 있다. 여기서 주의해할 점은 스크립트를 동적으로 삽입할 경우 DEFER 속성을 반드시 사용해야 한다는 것이다. 이것은 단순한 하나의 예에 불과하다. 이 innerHTML 속성을 잘 사용하면 동적으로 웹 문서의 내용을 변경하여 인터랙티브한 기능들을 많이 구현할 수 있다.

outerText

outerText는 outerText 속성을 지원하는 객체의 텍스트를 설정하거나 가지고 올 수가 있다. HTML, TABLE, TBODY, TFOOT, THEAD, TR 객체 요소에서의 outerText 속성은 값을 가지고 올 수만 있고 설정할 수는 없다. 테이블과 관련한 요소의 값을 변경하려면 테이블 오브젝트 모델을 별도로 이용해야 한다.

outerText는 얼핏 보면 innerText와 비슷하다. 하지만 그 차이에 대해선 이미 지난 시간에 살펴본 적이 있다. outerText가 innerText와 다른 부분을 잘 보여주는 예 한 가지를 더 살펴보자.

다음과 같은 소스 코드가 있다고 가정해 보자.

<div id=objDiv>
<p id=objPara>코리아인터넷닷컴에 오신 것을 환영합니다!</p>
</div>

만일 여기서 objPara.outerText="e비즈니스 및 IT 전문가를 위한 지식 미디어!"라고 하면 위의 소스 코드는 내부적으로 다음과 같이 변경되어 있을 것이다.

<div id=objDiv>
e비즈니스 및 IT 전문가를 위한 지식 미디어!
</div>

하지만 objPara.innerText="e비즈니스 및 IT 전문가를 위한 지식 미디어!"라고 한다면 위의 소스 코드는 내부적으로 다음과 같이 변경되어 있을 것이다.

<div id=objDiv>
<p id=objPara>e비즈니스 및 IT 전문가를 위한 지식 미디어!</p>
</div>

innerText보다 사용할 기회는 많지 않지만 그 차이점은 분명히 기억하고 있기를 바란다.

outerHTML

outerHTML은 outerHTML 속성을 지원하는 객체의 시작 태그와 종료 태그 사이에 있는 HTML을 설정하거나 가지고 올 수가 있다. COL, COLGROUP, FRAMESET, HTML, STYLE, TABLE, TBODY, TFOOT, THEAD, TITLE, TR 객체 요소에서의 outerHTML 속성은 값을 가지고 올 수만 있고 설정할 수는 없다. outerHTML 속성은 해당 웹 문서를 완전히 읽어들인 후(onLoad 이벤트 발생 후)에야 사용할 수 있다.

outerHTML은 얼핏 보면 innerHTML과 비슷하다. 하지만 그 차이에 대해선 이미 지난 시간에 살펴본 적이 있다.

outerHTML을 활용하는 예를 하나 살펴보도록 하자. 아래 리스트 아이템을 마우스로 클릭하면 해당 객체가 그대로 하단에 복사되는 것을 확인할 수 있을 것이다. 이 때 아이템의 텍스트를 클릭하는 것과 <li> 부분 (텍스트 앞의 점으로 표시된 부분)을 클릭하는 것이 어떻게 다른지도 비교해 보기 바란다.

  • 코리아인터넷닷컴
  • e비즈니스 및 IT 전문가를 위한 지식 미디어
  • korea.internet.com

여기서 사용한 소스 코드는 다음과 같다.

<SCRIPT>
function copyHTML(){
   var objTag = event.srcElement;
      alert("선택한 객체 : " + objTag.outerHTML);
      objDiv.innerHTML += objTag.outerHTML + "<BR>";
}       
</SCRIPT>

<ul onclick="copyHTML()">
<li><b>코리아인터넷닷컴</b>
<li><font color="#d03030"><strong>e비즈니스 및 IT 전문가를 위한 지식 미디어</strong></font>
<li><strike>korea.internet.com</strike>
</ul>

<DIV ID = "objDiv">
</DIV>

지금까지 innerText, innerHTML, outerText, outerHTML에 대한 세부적인 특성에 대해 살펴보았다. 다음 시간엔 동적으로 내용을 추가하는 것의 핵심인 insertAdjacentHTML에 대해 살펴보도록 하겠다

[출처] 웹디황용

"쇼핑몰·홈페이지·오픈마켓
블로그·페이스북·이메일 등의 각종 마케팅 글쓰기,
각종 광고, 영업, 판매, 제안서, 전단지
반응율 3배×10배 이상 높이는 마법의 8단계 공식"
자세히보기

Comments

번호 제목 글쓴이 날짜 조회
3195 바탕화면 아이콘 변경 M 최고의하루 12.23 4063
3194 오라클(Oracle) 날짜 관련 함수 정리 13 김영철 01.23 4061
열람중 innerTEXT와 innerHTML의 유용함 99 단국강토 02.09 4050
3192 각종 확장자 파일 M 최고의하루 12.24 4032
3191 이것은 AI파일 미리보기입니다. 댓글2 M 최고의하루 01.15 4029
3190 오라클 캐릭터 셋 변경 M 최고의하루 01.12 4028
3189 Ajax 간단한 예제(우편번호검색) 13 김영철 01.29 4021
3188 포토샵으로 털그리기 10 액션쟁이 01.02 4020
3187 php 설치관련 문의내용 정리 13 김영철 01.14 4015
3186 vb 마우스휠 2 아론k 06.24 4014
3185 UltraWebGrid Tips 99 단국강토 01.13 4009
3184 PHP 답변형 게시판 / 자료실 /PHP강좌 13 김영철 01.13 3994
3183 [펌] 제11강 - ADO(Active Database Object) - Database Access Component Cobol vs C#-1 M 최고의하루 12.23 3985
3182 엑셀형식 가계부 3종 댓글2 2 비비드바비 04.29 3960
3181 Windows Server 2003 에서 IIS 6 + PHP 4.3.2 설정법 M 최고의하루 12.19 3959
3180 간편 스크롤캡쳐프로그램!!!! 2 무라사키 02.17 3953
3179 rsync윈도우에서 리눅스로 백업하기 13 김영철 01.29 3952
3178 award bios 어워드 바이오스 설정법 M 최고의하루 12.18 3943
3177 아쿠아버튼 M 최고의하루 12.20 3937
3176 innerText, outerText, innerHTML, outerHTML 99 단국강토 01.06 3937
3175 ScriptX 프린트 13 김영철 01.15 3932
3174 table,tr,td 의 innerHTML 속성으로 좀 가꾸놀기 99 단국강토 02.09 3923
3173 원격데스크톱 연결 (XP) M 최고의하루 12.20 3923
3172 MSSQL 내장 함수 목록 99 단국강토 01.03 3920
3171 꽤 괜찮다; - MMF 변환 프로그램 M 최고의하루 12.18 3920
3170 MSSQL 기본 접속 포트 1433 변경 및 서버 alias 사용 99 단국강토 01.07 3908
3169 AJAX 관련 새로운 url 정리 13 김영철 01.29 3908
3168 frame, iframe에서 쿠키, 세션 인증(로그인) 처리 안 될 때 해결 방법 13 김영철 01.14 3905
3167 네이트온글꼴바꾸기 댓글1 17 미니 04.27 3901
3166 Window에서 4G 이상의 메모리가 인식이 안될때 17 vane 12.27 3876
마케팅
특별 마케팅자료
다운로드 마케팅자료
창업,경영
기획,카피,상품전략
동기부여,성취