gpt4 book ai didi

javascript - 使用 DOM 方法将 JSON 打印为 HTML (Javascript)

转载 作者:太空宇宙 更新时间:2023-11-04 15:56:39 26 4
gpt4 key购买 nike

我正在尝试使用 DOM 方法来显示我在 .js 文件中创建的 JSON 对象,并且我需要在 HTML 页面中显示它。这就是我的代码的样子,但它不起作用。

function JSONMethod(){
carInfo = {"make":"BMW", "model":"M5","mear":"2017","color":"Black"};
myJSON = JSON.stringify(carInfo);
localStorage.setItem("theJSON", myJSON);

text = localStorage.getItem("theJSON");
obj = JSON.parse(text);

for(var i = 0; i < obj.length; i++)
{
var para = document.createElement("li");
var node = document.createTextNode(obj[i]);
para.appendChild(node);
var element = $("display");
element.appendChild(para);
}
}

$函数是这样的

function $(theId){
return window.document.getElementById(theId);
}

最佳答案

我不确定您到底为什么要保存到 localStorage 然后从中读取,或者字符串化然后重新解析您的对象。您上面给出的大部分代码都可以使用 .textContentArray#forEach 等结构来删除或大幅减小大小。

但是,您的根本问题是您无法使用 for 循环和索引来迭代常规对象。您必须使用内置 Object.keys 之类的函数来获取其所有属性,然后对它们执行某些操作。

function JSONMethod (carInfo) {

Object.keys(carInfo).forEach(function (k) {
var li = document.createElement("li")
li.textContent = k + ': ' + carInfo[k]
this.appendChild(li)
}, document.getElementById('display'))

}

JSONMethod({
"make": "BMW",
"model": "M5",
"mear": "2017",
"color": "Black"
})
<ul id="display"></ul>

关于javascript - 使用 DOM 方法将 JSON 打印为 HTML (Javascript),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42639535/

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