innerhtml을 대체하는 코드는 어떻게 되

국내에 웹 사이트들이 웹 표준을 지키고 OS나 브라우저와 관계 없이 접근성을 향상 시키기 위한 사이트 버그 신고 및 문제 해결을 위한 게시판입니다.
Post Reply
초보

innerhtml을 대체하는 코드는 어떻게 되

Post by 초보 »

var cate_text = document.createElement('text');
cate_text.insertText('ㅁㅁ' + ' > ' + 'ㅁㅁ');
document.getElementById('view_text').appendChild(cate_text);

이런식으로 작성을 햇는데 createEl~여기서 에러가 나네요.

innerhtml을 대체할려면 어떻게 createElement해야 하나요?

그리고 createElement하고 나서 저렇게 하는게 맞나요?
eouia

Post by eouia »

createElement는 말 그대로 element를 만드는 메쏘드입니다. element라는 말이 낯설다면 html tag라고 이해하세요.
사실, innerHTML은 굳이 바꿀 필요는 없을지도 모릅니다. 대개의 브라우저에서 특별한 문제없이 사용할 수 있기 때문입니다. (그러나 innerHTML로 엘리먼트를 생성하면 DOM사용에서 문제가 발생할 수 있습니다.)

TEXT를 바꿔치기 위해서는 createTextNode 메쏘드를 사용합니다. 다음 용례를 참고하세요.

obj.appendChild(document.createTextNode("문자"));
박민권
해커
해커
Posts: 724
Joined: 2005 01 31 22:33 55
Location: 대한민국
Contact:

Post by 박민권 »

기초적인 것에 대해서 조금 추가해봅니다.

document.createTextNode("문자") 는 하나의 문자노드 객체를 생성하여 반환하는 것이기 때문에

Code: Select all

var objTxt = document.createTextNode("문자");
obj.appendChild(objTxt);
이렇게 하셔도 가능합니다.
만들어진 문자노드 객체의 값에 대한 참조는 objTxt.nodeValue 로 가능합니다.

기타 여러 DOM 관련 정보는 아래 주소에서 참고하셔도 좋습니다.
아래 주소는 Geko DOM 레퍼런스 입니다.
http://developer.mozilla.org/en/docs/Ge ... _Reference

innerHtml 이란게 편하긴 하지만 개발자는 사용을 자제하는 것이 좋을것 같습니다.
DOM이란 것에 무지해져서 후에 XML 을 다루거나 공부할때 안좋은 영향을 주는것 같습니다.
Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest