2013-03-21 1 views
2

페이지가로드 될 때 이 이미 내 DOM에있는 경우 쓰기 전용 위치에만 씁니다. 예를 들어 :document.write()는 인라인으로 작동하지만 jQuery의 .html()을 사용하지 않습니다.

<div id="d1"> 
existing text <script>document.write('& doc written text');</script> 
</div> 
<div>footer</div> 

내가

$("#d1").html("another approach <script>document.write('wipes out the screen');</script>"); 

처럼, 사업부 내에서 HTML을 업데이트 할 jQuery를 사용한다면 그러나 <div id="d1">existing text & doc written text</div><div>footer</div>

로, 단순히 wipes out the screen B/C와 끝까지 렌더링 그것은 본질적으로 인라인 스크립트가있는 곳에서만 문서에있는 모든 것을 제거합니다. 어떻게하면 .html()document.write()이 포함 된 값을 가질 수 있습니까?하지만 DOM에 처음으로있는 것처럼 작동합니다 (첫 번째 예제 참조). 감사!

+1

DOM을로드 한 후에는'document.write()'를 사용할 수 없습니다. 그렇지 않으면 문서 전체가 지워집니다. 그런 식으로 사용하려는 이유가 있습니까? – Uby

답변

3

페이지가 완전히 작성된 경우 document.write()를 사용할 수 없습니다. 행동 방식을 변경하기 위해 할 수있는 일은 없습니다. 당신은 당신이하고있는 것을 다시 생각할 필요가 있습니다.

+0

아무것도 없습니까? document.write = function() {alert ("hello world"}); }':) – paislee

+0

@ paislee 네, document.write를 오버라이드 할 수 있지만, 페이지를 렌더링 할 때와 같은 위치에 텍스트를 가져 오는 것을보고 싶습니다. – epascarello

+0

Postscribe! https://github.com/krux/postscribe – paislee

3

html() 기능 은 요소의 내용을 대체합니다 (). (See the API)

원하는 것은 append()입니다.