当前位置: 首页 > 知识库问答 >
问题:

使用提取的API创建多个元素

陶刚豪
2023-03-14

JS新人来了!我正在尝试使用Fetch从jsonplaceholder创建一个带有假todo的todo列表。我想要取五个不同的ToDos并将它们放入我的列表中的不同列表项中。但不知怎的,五个托多人中只有一个出现了。

HTML:

<ul id="result">

</ul>

JS:

fetch("https://jsonplaceholder.typicode.com/todos/1") 
.then(function(response) {
    return response.json()
})
.then((response) => {
    console.log(response)
    var result = document.getElementById('result')
    result.innerHTML = '<li>' +  response.title '</li>'
})

fetch("https://jsonplaceholder.typicode.com/todos/2") 
.then(function(response) {
    return response.json()
})
.then((response) => {
    console.log(response)
    var result = document.getElementById('result')
    result.innerHTML = '<li>' +  response.title '</li>'
})

fetch("https://jsonplaceholder.typicode.com/todos/3") 
.then(function(response) {
    return response.json()
})
.then((response) => {
    console.log(response)
    var result = document.getElementById('result')
    result.innerHTML = '<li>' +  response.title '</li>'
})

fetch("https://jsonplaceholder.typicode.com/todos/4") 
.then(function(response) {
    return response.json()
})
.then((response) => {
    console.log(response)
    var result = document.getElementById('result')
    result.innerHTML = '<li>' +  response.title '</li>'
})

fetch("https://jsonplaceholder.typicode.com/todos/5") 
.then(function(response) {
    return response.json()
})
.then((response) => {
    console.log(response)
    var result = document.getElementById('result')
    result.innerHTML = '<li>' +  response.title '</li>'
})

共有1个答案

华乐逸
2023-03-14

设置innerHTML将替换目标元素的内容,而不是向其添加。您应该使用运算符+=或方法InsertAdvacentTML,或者最好使用带有构造元素的方法Append。后者将避免包含html特殊字符的文本出现问题,并且更易于维护。

fetch部分似乎还可以,但您无法保证fetch调用返回的顺序(它们是异步的)。

以下是解决问题的方法:

null

function appendTodo(value) {
  const li = document.createElement('li');
  li.innerText = value;
  document.querySelector('#result').append(li);
}

appendTodo('Todo 1');
appendTodo('That remains to do');
appendTodo('This one also');
appendTodo('It has a <tag>');
appendTodo('Hey !');
<ul id="result">

</ul>
 类似资料:
  • 在几个父级中有一个红圈元素(elementToExtract),其结构应如下所示: https://jsfidle.net/dwxmb87l/1/ null null 我如何提取它以显示在所有元素上(而不是由于溢出而被切成两半),而不: 更改DOM结构(HTML必须保持不变) 删除黄色元素的转换CSS声明 尽可能少地更改其他元素的CSS(如果可能,根本不更改!) 所以基本上,如果可能的话,只能通过

  • 问题内容: 我想知道如何一次获取多个GET URL,然后将获取的JSON数据放入我的React DOM元素中。 这是我的代码: 但是,我想从服务器中获取其他JSON数据,然后使用传递到其中的所有这些JSON数据呈现我的ReactDOM。例如: 这可能吗?如果不是,将多个JSON数据提取到我的渲染ReactDOM元素中的其他解决方案是什么? 问题答案: 您可以在解决方案之前依靠Promises来执行

  • 我正在尝试创建一个演员与非类型化演员工厂,编译发生良好。但在运行应用程序时,我得到以下错误。我在配置中遗漏了什么吗?

  • 如果我要创建一个数组,并用值初始化它,我会这样做 我想对ArrayList做同样的事情,并有类似的东西 上面这行代码不行,我理解。我试图传达我希望实现的目标。有没有办法在Java做到这一点,而不必做像 或者

  • 我试图在TypeScript中创建一个格式正确的SVG元素: 但是,在中出现以下错误

  • 问题内容: 我正在创建我的第一个API,如果向其传递两个值,则应该以JSON格式获取响应。该数字将由POST作为参数传递。使用cURL或任何可用的POST方法。 即使这是非常基础的,我也想知道最佳实践,并且应该基于模型控制器来创建API。不只是普通的PHP。 我已经搜索了许多REST API教程。他们很好,我对此有所了解。 但是,我想获得一个代码示例模型,以便我可以引用它并构建自己的代码,当然,该