Javascript 使用JS和foreach循环/append覆盖div

Javascript 使用JS和foreach循环/append覆盖div,javascript,html,json,Javascript,Html,Json,我希望使用JS覆盖一个div,但问题是我使用的是append,所以脚本一直在div末尾写入数据,我不知道如何解决这个问题,我尝试了window.location.reload(true),但显然,数据丢失了。 有人能给我指一下正确的方向吗?事实上我迷路了。我的目标是刷新/擦除或更新div内容,最好不要重新加载页面。这是一个可运行的代码,您可以看到问题所在。谢谢你的帮助 $(“#获取新闻”)。在(“单击”,函数(){ setTimeout(函数(){ 变量路径=”https://api.iext

我希望使用JS覆盖一个div,但问题是我使用的是
append
,所以脚本一直在div末尾写入数据,我不知道如何解决这个问题,我尝试了
window.location.reload(true)
,但显然,数据丢失了。 有人能给我指一下正确的方向吗?事实上我迷路了。我的目标是刷新/擦除或更新div内容,最好不要重新加载页面。这是一个可运行的代码,您可以看到问题所在。谢谢你的帮助

$(“#获取新闻”)。在(“单击”,函数(){
setTimeout(函数(){
变量路径=”https://api.iextrading.com/1.0/stock/"
var stock=document.getElementById('userstock').value
var end=“/news”
var url=path+stock+end
$.getJSON(url、函数(数据){
data.forEach(函数(文章){
$(“#数据”)。追加(
$('').text(文章标题),
$('')文本(文章摘要),
$(“
”)。文本(“”), ); }); }); },200); });

搜索股票(例如:msft、aapl或tsla)

浏览


您不能只设置容器的HTML:

var html = $("<div></div>");
html.append($('<h4>').text(article.headline));
html.append($('<div>').text(article.summary));
html.append($('<hr>').text(" "));

$('#data').html(html);
var html=$(“”);
html.append($('').text(article.headline));
html.append($('').text(article.summary));
html.append($(“
”).text(“”); $('#data').html(html);
您不能只设置容器的HTML:

var html = $("<div></div>");
html.append($('<h4>').text(article.headline));
html.append($('<div>').text(article.summary));
html.append($('<hr>').text(" "));

$('#data').html(html);
var html=$(“”);
html.append($('').text(article.headline));
html.append($('').text(article.summary));
html.append($(“
”).text(“”); $('#data').html(html);
$(“#获取新闻”)。在(“单击”,函数(){
setTimeout(函数(){
变量路径=”https://api.iextrading.com/1.0/stock/"
var stock=document.getElementById('userstock').value
var end=“/news”
var url=path+stock+end
$.getJSON(url、函数(数据){
var html=$(“”);
data.forEach(函数(文章){
html.append($('').text(article.headline));
html.append($('').text(article.summary));
html.append($(“
”).text(“”); }); $('#data').html(html); }); },200); });

搜索股票(例如:msft、aapl或tsla)

浏览

$(“#获取新闻”)。在(“单击”,函数(){
setTimeout(函数(){
变量路径=”https://api.iextrading.com/1.0/stock/"
var stock=document.getElementById('userstock').value
var end=“/news”
var url=path+stock+end
$.getJSON(url、函数(数据){
var html=$(“”);
data.forEach(函数(文章){
html.append($('').text(article.headline));
html.append($('').text(article.summary));
html.append($(“
”).text(“”); }); $('#data').html(html); }); },200); });

搜索股票(例如:msft、aapl或tsla)

浏览


您可以直接覆盖div
数据,而不是附加到数据中……我尝试过的@scrasedcola的可能重复项。empty().append(newcontent)不起作用。我只有第一行..在循环外清空它并附加内容,操作顺序。想想你正在试图解决什么问题,而不仅仅是在你的浏览器上随机抛出代码。我被卡住了。您认为在另一个页面上打印新内容(重新加载)并将API请求数据存储在变量中更好吗@ScrapsedCola您实际上可以覆盖div
数据,而不是附加到它…可能是@ScrapsedCola的重复项我尝试过。empty()。附加(newcontent)不起作用。我只有第一行..在循环外清空它并附加内容,操作顺序。想想你正在试图解决什么问题,而不仅仅是在你的浏览器上随机抛出代码。我被卡住了。您认为在另一个页面上打印新内容(重新加载)并将API请求数据存储在变量中更好吗@你试过这个方法吗?这对我没用,或者我不知道怎么把它包括进去。我也不明白背后的逻辑。无论如何,谢谢你@CombatC2看到了我在上面发布的新答案(包括我建议的更新的原始代码片段)。您尝试过这种方法吗?这对我不起作用,或者我不知道如何把它包括进去。我也不明白背后的逻辑。无论如何,谢谢你@CombatC2查看我在上面发布的新答案(包括您的原始代码片段和我建议的更新)。@comatc2非常感谢,但它只打印了1行:)我讨厌代码。@comatc2非常感谢,但它只打印了1行:)我讨厌代码。