예전에 어딘가에서 innerHTML을 사용하기보다는 createElement, createTextNode 등을 사용해서 객체를 만들고 자식으로 추가하는 등의 작업을 해주는 쪽이 더 권장된다고 봤었는데요..
결론만 보고 이유를 보지 못해서 갑자기 궁금해졌습니다.
뭔가 작업중인데 innerHTML 한줄이면 될 내용을 create 노가다 하고 있으려니 무슨짓인가 싶더라구요.. 이런 노가다를 웹브라우저에게 떠넘기기 쉽도록 배려한 메소드가 innerHTML이 아닐까 하는 생각이 들어서 말이죠..
innerHTML에 비해 createElement 노가다는 어떤 장점이 있을까요?
innerHTML / createElement
장점은... 솔직히 저도 잘 모르겠습니다.
단, DOM 구조의 완결성을 유지하기 위해 innerHTML대신 createElement나 createTextNode를 씁니다. 물론 innerHTML로 불가능한 건 아니겠지만, OOP적인 관점에서 보더라도, Object(Element)를 create하고 add하는 단계가 좀 더 구조적이긴 합니다. innerHTML로 작업하면 비구조적인 스크립트가 될 수 있으니까요. innerHTML은 쉽고 강력한 대신 컨트롤의 주도권을 프로그래머가 제어하기 어렵습니다.
(동적으로 임의의 element들이 생성되었다가 다시 임의의 element를 삭제해야하는 프로세스를 생각해보시면 조금 도움이 될 지도...)
단, DOM 구조의 완결성을 유지하기 위해 innerHTML대신 createElement나 createTextNode를 씁니다. 물론 innerHTML로 불가능한 건 아니겠지만, OOP적인 관점에서 보더라도, Object(Element)를 create하고 add하는 단계가 좀 더 구조적이긴 합니다. innerHTML로 작업하면 비구조적인 스크립트가 될 수 있으니까요. innerHTML은 쉽고 강력한 대신 컨트롤의 주도권을 프로그래머가 제어하기 어렵습니다.
(동적으로 임의의 element들이 생성되었다가 다시 임의의 element를 삭제해야하는 프로세스를 생각해보시면 조금 도움이 될 지도...)
저도 잘은 모르지만.. ^^;
http://www.w3.org/TR/2004/WD-WCAG20-SCR ... #doc-write
여기 보니까 document.write 또는 innerHTML 은 피하라고 되어 있네요..
여기 보니까 document.write 또는 innerHTML 은 피하라고 되어 있네요..
- CN
- 서포터즈
- Posts: 61
- Joined: 2005 01 02 01:57 54
- Contact:
Re: 저도 잘은 모르지만.. ^^;
좋은 내용 감사합니다. 왜 그래야 하는지 이해가 됩니다.guest wrote:http://www.w3.org/TR/2004/WD-WCAG20-SCR ... #doc-write
여기 보니까 document.write 또는 innerHTML 은 피하라고 되어 있네요..
Who is online
Users browsing this forum: No registered users and 3 guests