Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用DOM方法将JSON打印到HTML(Javascript)_Javascript_Html_Json_Object_Dom - Fatal编程技术网

使用DOM方法将JSON打印到HTML(Javascript)

使用DOM方法将JSON打印到HTML(Javascript),javascript,html,json,object,dom,Javascript,Html,Json,Object,Dom,我试图使用DOM方法来显示我在.js文件中创建的JSON对象,我需要在HTML页面中显示它。 这就是我的代码看起来的样子,它不起作用 function JSONMethod(){ carInfo = {"make":"BMW", "model":"M5","mear":"2017","color":"Black"}; myJSON = JSON.stringify(carInfo); localStorage.setItem("theJSON", myJSON);

我试图使用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);
    }
}

我不清楚为什么您要保存到
localStorage
,然后从中读取,或者对对象进行字符串化,然后重新设置其大小。使用
.textContent
Array#forEach
等结构,您上面给出的大部分代码都可以被删除或大幅缩减

然而,潜在的问题是,不能使用for循环和索引对常规对象进行迭代。您必须使用内置的
Object.keys
之类的函数来获取其所有属性,然后对其进行处理

函数JSONMethod(carInfo){
Object.keys(carInfo).forEach(函数(k){
var li=document.createElement(“li”)
li.textContent=k+':'+carInfo[k]
这个孩子(李)
},document.getElementById('display'))
}
JSONMethod({
“制造”:“宝马”,
“型号”:“M5”,
“mear”:“2017年”,
“颜色”:“黑色”
})

    1)您可能指的是
    $('#display)
    或其他有效的选择器。2) 对象没有
    length
    属性。试试看。3) 所有这些本地存储的东西对你的问题来说都是完全多余的。实际上,我一直都在使用$(“display”),而且它似乎在工作。我经常看到有人评论说要加上“#”。为什么会这样?$函数只返回window.document.getElementById(theId)对不起,我以为您使用的是jQuery。我不建议依赖定义的
    $
    。似乎只有Chrome和Firefox才能做到~不用担心,我应该澄清一下$function是什么。谢谢你!哦,好的,好的,是的,我从w2schools.com上得到的存储东西。现在我意识到并找到了其他链接,存储也不再是必要的了。我会尝试用你的答案重新排列我的代码,看看它是否有效!谢谢
    function $(theId){
        return window.document.getElementById(theId);
    }