最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - document.write resets body once - Stack Overflow

programmeradmin4浏览0评论

When I used document.write after loading the body (via onclick event), it overwrites the entire body. I want this for what I'm trying to achieve. However, when I do it again, it simply adds on to the previous content. Why does it overwrite everything the first time and only add on the next?

When I used document.write after loading the body (via onclick event), it overwrites the entire body. I want this for what I'm trying to achieve. However, when I do it again, it simply adds on to the previous content. Why does it overwrite everything the first time and only add on the next?

Share Improve this question edited Jan 3, 2012 at 20:29 Josh Darnell 11.5k9 gold badges39 silver badges66 bronze badges asked Dec 22, 2010 at 17:32 AnonymousAnonymous 1,8937 gold badges23 silver badges29 bronze badges
Add a ment  | 

2 Answers 2

Reset to default 11

If the document isn't open for writing, then calling document.write will automatically call document.open.

The first time you call document.write, the browser has loaded the document and thus closed it for writing. This calls document.open which wipes out the existing document and creates a new one to write into.

Since the browser isn't loading this, it doesn't automatically close it for writing, so the content is appended when you call docment.write again. You can explicitly call document.close and document.open if you want to wipe out the content.

See https://developer.mozilla/en/document.write for more details.

When you use document.write, it writes directly to the page/body. If you want to write to some specific element, you can use syntax such as this:

document.getElementById('elementID').innerHTML = 'your string';
发布评论

评论列表(0)

  1. 暂无评论