Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JS/HTML-如何使用JS向文档体写入多行文本?_Javascript_Html_Dom - Fatal编程技术网

Javascript JS/HTML-如何使用JS向文档体写入多行文本?

Javascript JS/HTML-如何使用JS向文档体写入多行文本?,javascript,html,dom,Javascript,Html,Dom,这是到目前为止我的代码 var项目=[]; 函数附加项(){ items.push(document.getElementById(“txtArea”).value); document.getElementById('txtArea')。值=“”; log('items=['+items+']'); } 函数显示项(){ var tag1='', tag2=''; 对于(项目中的var i){ 文件写入(tag1+‘元素’+i+’=’+项目[i]+tag2); } } 使用 而不是: d

这是到目前为止我的代码

var项目=[];
函数附加项(){
items.push(document.getElementById(“txtArea”).value);
document.getElementById('txtArea')。值=“”;
log('items=['+items+']');
}
函数显示项(){
var tag1='',
tag2='

'; 对于(项目中的var i){ 文件写入(tag1+‘元素’+i+’=’+项目[i]+tag2); } }


使用

而不是:

document.write..
document.write()
将删除正文中的所有数据,所以在加载后无法使用它

尝试创建一个文本变量

var text = "";
然后在循环中追加

text += tag1 + 'Element ' + i + ' = ' + items[i] + tag2
到头来做什么

document.body.innerHTML = text;

您需要设置段落
元素的文本

document.getElementById('elements').innerHTML = 'New Value';
而不是

document.write(....)
var项目=[];
函数addItems(){
items.push(document.getElementById(“txtArea”).value);
document.getElementById('txtArea')。值=“”;
log('items=['+items+']');
}
函数displayItems(){
var tag1='',
tag2='

', str=''; 对于(项目中的var i){ str+=tag1+'Element'+i+'='+items[i]+tag2+'
; } document.getElementById('elements')。innerHTML=str; }



如果我正确理解您的问题,我相信您可以这样做,不幸的是我自己没有时间尝试

var bodytag = document.getElementsByTagName('body');
for(var i in items) {
    var e = document.createElement('p');
    e.innerHTML = 'Element ' + i + ' = ' + items[i]
    bodytag.appendChild(e);
}

祝你好运。

我用w3schools的这个例子成功地使它工作了

我已经从html代码中删除了

标记,并修改了
displayItems
函数,如下所示:

function displayItems () {
    for(var i in items) {
    var e = document.createElement("p");
    var t = document.createTextNode('Element ' + i + ' = ' + items[i]);
    e.appendChild(t);
    document.body.appendChild(e);
    }

谢谢大家的帮助。

永远不要记录。加载后再写。当你做的时候,页面被擦除了,我看到脚本仍然在正文中。我习惯于使用JSFIDDLE,它也将擦除脚本。脚本需要在head中,然后即使脚本被放置在head部分,结果也会加载到新页面中。感谢您的提示。我使用w3schools的这个示例成功地实现了这一点。
function displayItems () {
    for(var i in items) {
    var e = document.createElement("p");
    var t = document.createTextNode('Element ' + i + ' = ' + items[i]);
    e.appendChild(t);
    document.body.appendChild(e);
    }