gpt4 book ai didi

javascript - 在 JavaScript 中的元素内加载数据时出现问题

转载 作者:搜寻专家 更新时间:2023-11-01 04:34:40 25 4
gpt4 key购买 nike

我的 JavaScript 有问题。在我的 Array 中我有一些对象,我试图将它们全部加载到一些 Elements 中,问题是当我尝试在“for”中返回我的 Elements 并为每个对象设置对象时它不起作用,我的意思是它只返回最后一个数据,其他框(元素)为空

这是我的 JavaScript 代码

var dataStore = [{
fname: "Keira",
lname: "Mayo",
yold: 30
},
{
fname: "Isaac",
lname: "Moses",
yold: 20
},
{
fname: "Edwina",
lname: "Serena",
yold: 34
},
{
fname: "Tiana",
lname: "Cheryl",
yold: 26
},
];


var boxShow = `
<div class="box" id="boxMsg">
<article class="media">
<div class="media-content">
<div class="content">
<p >
<strong id="titMsg"> </strong> <small id="yold"> </small>
<br>

</p>
</div>
<nav class="level is-mobile">
<div class="level-left">
<a class="level-item button is-small has-background-primary has-text-light disabled" aria-label="done" id="doneBtn" >Done</a>
<a class="level-item button is-small has-background-danger has-text-light" aria-label="delete" id="delBtn">Delete</a>
</div>
</nav>
</div>
</article>
</div>

`;


for (var i = 0; i <= dataStore.length; i++) {
var show = document.getElementById("MainBox").innerHTML += (boxShow);

var boxes = document.getElementById("boxMsg");

boxes.querySelector("#titMsg").textContent = dataStore[i].fname + " " + dataStore[i].lname;
boxes.querySelector("#yold").textContent = dataStore[i].yold;
}

最佳答案

我认为您需要在 for 循环中连接所有文章。然后只有你追加到 dom。

<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>

<body>
<div id="MainBox"></div>
<script>
var dataStore = [
{
fname: "Keira",
lname: "Mayo",
yold: 30
},
{
fname: "Isaac",
lname: "Moses",
yold: 20
},
{
fname: "Edwina",
lname: "Serena",
yold: 34
},
{
fname: "Tiana",
lname: "Cheryl",
yold: 26
},
];


var boxShow = `<div class="box" id="boxMsg"></div>`;
var elements = '';

for (var i = 0; i < dataStore.length; i++) {
elements += `<article class="media">
<div class="media-content">
<div class="content">
<p>
<strong>${dataStore[i]['fname']}</strong> <small>${dataStore[i]['lname']} </small>
<br>
</p>
</div>
<nav class="level is-mobile">
<div class="level-left">
<a class="level-item button is-small has-background-primary has-text-light disabled" aria-label="done" id="doneBtn" >Done</a>
<a class="level-item button is-small has-background-danger has-text-light" aria-label="delete" id="delBtn">Delete</a>
</div>
</nav>
</div>
</article>`;
}

document.getElementById("MainBox").innerHTML += (boxShow);
document.getElementById("boxMsg").innerHTML += elements;
</script>
</body>

</html>

关于javascript - 在 JavaScript 中的元素内加载数据时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54106585/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com