Javascript 我的JS数组打印只显示末端变量

Javascript 我的JS数组打印只显示末端变量,javascript,html,Javascript,Html,关于背景故事,我正在创建一个个人备忘“东西”,我遇到了这个问题: 使用时: for (i = 0; i < note_title.length; i++) { document.getElementById("current_titles").innerHTML = (note_title[i] + "<br />"); }; for (i = 0; i < note_content.length; i++) { document.getElementBy

关于背景故事,我正在创建一个个人备忘“东西”,我遇到了这个问题:

使用时:

for (i = 0; i < note_title.length; i++) {
    document.getElementById("current_titles").innerHTML = (note_title[i] + "<br />");
};
for (i = 0; i < note_content.length; i++) {
    document.getElementById("current_contents").innerHTML = (note_content[i] + "<br />");
};
for(i=0;i”);
};
对于(i=0;i”);
};
代码将只打印最后的值,而不是整个列表。为什么会这样


提前感谢。

您总是重置
innerHTML
属性,从而覆盖旧值

解决方案是将生成的HTML存储在变量(字符串)中,并将其设置为循环后的
innerHTML

不要使用
innerHTML+=”
。这会极大地影响站点的性能

var currentTitlesStr = "";

for (i = 0; i < note_title.length; i++) {
    currentTitlesStr += note_title[i] + "<br />";
}
document.getElementById("current_titles").innerHTML = currentTitlesStr;


var noteContentsStr = "";

for (i = 0; i < note_content.length; i++) {
    noteContentsStr += note_content[i] + "<br />";
}
document.getElementById("current_contents").innerHTML = nodeContentsStr;
var currentTitlesStr=”“;
对于(i=0;i”;
}
document.getElementById(“当前标题”).innerHTML=currentTitlesStr;
var noteContentsStr=“”;
对于(i=0;i”;
}
document.getElementById(“当前内容”).innerHTML=nodeContentsStr;

添加+=而不是=

for (i = 0; i < note_title.length; i++) {
    document.getElementById("current_titles").innerHTML += (note_title[i] + "<br />");
};
for (i = 0; i < note_content.length; i++) {
    document.getElementById("current_contents").innerHTML += (note_content[i] + "<br />");
};
for(i=0;i”);
};
对于(i=0;i”;
};

您错过了当前标题的+=但做得好-感谢您的快速回复:D@user2995986接得好,谢谢你的纠正。顺便说一下,欢迎来到StackOverflow!如果它解决了你的问题,请回答。我发现了另一个错误:P如果我刷新页面,其中的代码会重叠,例如:第一次它会打印“A,B”,但下次我刷新时它会添加“A,B”-关于如何修复的想法?@user2995986,我看不出我的代码与您的问题之间有任何直接关系。代码总是先清除HTML,然后再填充数组的串联值
note\u title
note\u content
。请显示更多的代码。@user2995986当只看到屏幕截图时,很难找到您面临的错误。胡乱猜测:在setTimeout()块中重置
note_title_str
note_content_str
note_title_str=”“;注“内容”\u str=“”正如我所说,由于性能原因,不建议使用此解决方案。您可以在每次迭代中重写整个HTML!