jQuery中有没有一种方法可以修改.html(),使其添加代码而不是覆盖



我正在做从API检索数据的工作。我正在设计我的代码,以便对API进行多个查询,然后将它们添加到HTML中运行的结果列表中。由于API返回的数据,没有办法在一次拍摄中获取所有数据,然后将其分割,我需要在多个拍摄中获取。

看看这个代码:

function renderResults(results) {
return $('#results-section').html(genResults(results));
}

函数renderResults()在我的API调用中被调用

.fetch(URL)
.then([code that is working properly])
.then(call renderResults() here)

我已经控制台记录了我的API结果,并在Postman中测试了API调用,所以我知道它构造正确——只是试图给出正确的上下文。

回顾一下,results是来自API的数据,results-section是如何标记我的HTML中的结果容器,函数genResults(results)创建模板HTML,其中粘贴了results的值

当您使用.html时,它会覆盖前面指示的部分中的所有内容。我正在寻找一种方法,将genResults(results)生成的模板HTML添加到我ID为results-section的容器中的任何HTML中,而不是替换那里的内容。我尝试过在.append()上进行链接,但似乎找不到成功的方法。

显而易见的解决方案是让for循环根据我的需要创建尽可能多的结果子部分,但问题是在我从API获得结果之前,我不知道我需要多少部分。

有什么想法吗?

更新:

Souvik Ghosh的回答奏效了。我试图将.append()链接到.html(),但我没有意识到它实际上取代了它

$( "#results-section" ).append( "Your data from the last API call" );

您可以使用jQuery append。

$( "#results-section" ).append( "Your data from the last API call" );

阅读更多:https://api.jquery.com/append/

相关内容

  • 没有找到相关文章

最新更新