gpt4 book ai didi

javascript - 原始 javascript 打印项目从 json 对象到列表中的屏幕

转载 作者:行者123 更新时间:2023-11-29 16:59:24 25 4
gpt4 key购买 nike

我正在用原始 javascript 编写程序。在这个程序中,我调用了一个 json 对象,它返回一个项目列表及其价格 -

[
{
"shopName": "The Coffee Connection",
"address": "123 Lakeside Way",
"phone": "16503600708",
"prices": [
{
"Cafe Latte": 4.75,
"Flat White": 4.75,
"Cappucino": 3.85,
"Single Espresso": 2.05,
"Double Espresso": 3.75,
"Americano": 3.75,
"Cortado": 4.55,
"Tea": 3.65,
"Choc Mudcake": 6.4,
"Choc Mousse": 8.2,
"Affogato": 14.8,
"Tiramisu": 11.4,
"Blueberry Muffin": 4.05,
"Chocolate Chip Muffin": 4.05,
"Muffin Of The Day": 4.55
}
]
}
]

我正在尝试将每个项目显示为列表项 < li>在我的 html 页面上。我正在寻找与 angular 的 ng-repeat 指令相同的功能。我试图将子节点附加到 <ul > ,但是这没有按预期工作。

我目前的代码如下:

<!DOCTYPE html>
<html>
<body>
<ul id="myList"></ul>
<script src="js/getData.js"></script>
</body>
</html>

我的 getData.js 文件如下所示:

function loadJSONDoc() {
var answer;
var xmlhttp;
xmlhttp = new XMLHttpRequest();

xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
answer = JSON.parse(xmlhttp.responseText)

var items = answer[0].prices[0];

for (var index in items) {
var node = document.getElementById("myList");
var textnode = document.createTextNode(index + " : " + items[index]);
node.appendChild(textnode);
}
document.getElementById('myList').appendChild(node);
}
}
xmlhttp.open("GET", "/items", true);
xmlhttp.send();
}

document.addEventListener("DOMContentLoaded", function (event) {
loadJSONDoc();
});

我想要的输出如下:

<ul>
<li>Cafe Latte: $4.75</li>
<li>Flat White: $4.75</li>
<li>Cappucino: $3.85</li>
<!-- etc............ -->
</ul>

如有任何帮助,我们将不胜感激。另外,请注意我使用了 document.write(index + " : " + items[index] + "</ br > "这有效,但是,这不是我要找的,我希望从我上面的描述中可以看出这一点。

谢谢,保罗

最佳答案

您应该创建 li元素,追加 textnode到它,然后追加 li到列表:

for (var index in items) {
var node = document.getElementById("myList");
var li = document.createElement('li');
var textnode = document.createTextNode(index + " : " + items[index]);
li.appendChild(textnode);
node.appendChild(li);
}

还要确保您的 HTML 有效。我说的是 <ul id="myList"></div>东西。

演示: http://plnkr.co/edit/bKl56vg7AkaiJZd7tFVx?p=preview

关于javascript - 原始 javascript 打印项目从 json 对象到列表中的屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29451559/

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