今天我刚入学了Javascript基础知识,还有一个问题是我遇到了麻烦。
这次演习是做一个HTML页面的文本框(在这里我必须把一些x)和一个按钮,当我点击按钮后,页面应该使用1形成有星号三角形的x' document.write'功能。
我能做到这一点很好,但问题是,我需要能够重复使用此功能,就像如果我再次更改文本框的数量和点击按钮,一个新的三角形应建立和以前的内容也必须保存。
我必须只使用文件撰写来实现这一点,但使用document.write删除所有以前的内容,所以在新创建的页面在“头部”的脚本不存在。
任何人都可以建议我什么?
Here's my code.脚本内的Javascript document.write
回答
获取body元素的HTML并将新模式附加到此HTML并将其写入文档。
var bodyHtml = document.body.innerHTML;
var newHtml = "";
//create new pattern and save in newHtml variable
Document.write(bodyHtml + < br /> + newHtml);
很好的回答,但它并不能解释为什么。显然,这是一个正在学习语言的学生,一些解释会很长。 –
document.write
(MDN documentation),从像文件的头部的脚本标签的情况下调用时,会事先打电话document.open
(MDN documentation),这将重新初始化文件,覆盖任何以前的内容。但是,如果你还没有叫document.open
或document.close
明确之后document.write
调用不会覆盖先前写的内容。
可以保存你以前写在一个变量的文件,你可以事先打电话document.open
。像下面这样:
var ShowOnPage = '<input type="text" id="text1" />' + '<input type="button" value="Click Me" onClick="CreateTriangle()" /> <br/>';
function CreateTriangle() {
var x = parseInt(document.getElementById("text1").value);
for (i = 1; i <= x; i++) {
for (j = 1; j <= i; j++) {
ShowOnPage += "*";
}
ShowOnPage += "<br/>"
}
document.open();
document.write(ShowOnPage);
document.close();
}
注意ShowOnPage
创建之外的功能创建一个三角形,并与中要点击之间保持周围输入的值进行初始化。还请注意在document.write
调用周围使用document.open
和document.close
。
请注意,为什么在这里需要document.write
?这是而不是你会这样实现的方式,并教导几乎从来没有在真实情况下使用的东西如document.write
的使用没有增加web开发的知识。
通过引入innerHTML
和getElementById
并调整某个元素like in this fiddle的内容,可以获得相同的概念。
我不得不同意你在''document.write''问题上。但可悲的是,这可能是他们的老师从几年前写的一本JavaScript书中学到的。他们应该学习使javascript特别的东西,这当然不是''document.write''。 – moritzpflaum
当使用'document.write'时,在文档被关闭的情况下document.open可以被调用_implicit_。已完全加载到DOM)。所以如果在dom没有准备好的时候调用document.write',那么它将被插入到当前脚本执行被启动的地方,或者即使用'setTimeout(...)'调用它,如果例如文档使用块编码进行传输,并且仍有待处理的块。 –
这是个大问题,她特意告诉我们不要使用innerHTML,而是要找到一种方法来使用document.write – Legjendat
- 1. document.write脚本内部不执行脚本
- 2. 等效于Document.Write()的脚本
- 3. document.write动态加载脚本
- 4. java脚本错误与document.write()
- 5. 内的C#代码编写JavaScript脚本
- 6. javascript document.write
- 7. 如何使用javascript的document.write加载脚本
- 8. 运行包含document.write和getElementsByTagName的脚本
- 9. javascript内perl脚本
- 10. 使用脚本标记创建Javascript document.write块
- 11. Javascript:在createElement脚本中运行“document.write”失败
- 12. JavaScript:使用document.write();
- 13. JavaScript document.write Chrome
- 14. Javascript Document.write问题
- 15. javascript - document.write错误?
- 16. JavaScript document.write br
- 17. Javascript代码document.write
- 18. document.write异步(JavaScript)
- 19. javascript,html document.write
- 20. document.write style css javascript
- 21. 替代document.write javascript?
- 22. javascript override'in document.write
- 23. 无法加载多个document.write脚本
- 24. 脚本添加与document.write与jQuery附加
- 25. 使用document.write加载多个脚本
- 26. 从外部脚本执行多个document.write
- 27. 来自shell脚本的Javascript
- 28. 嵌套在document.write中的document.write
- 29. 的Javascript:当使用document.write
- 30. Javascript新行 - document.write的结尾
使用window.open显示输出在新窗口中,它可能会在这种情况下工作 – Shadow