在显示/渲染输出方面,.innerHTML和console.log()之间有什么区别吗?

时间:2017-02-23 09:57:18

标签: javascript jquery json xml

我使用java脚本函数将JSON转换为XML String。我甚至能够成功地做到这一点。但是当我尝试用3种不同的方法查看它时,我在.innerHTML中得到不同的输出,当comapred到alert和console.log()时 这种差异的原因是什么?我做的有什么不对。

这是我的代码:

HTML:

<div id="show"></div>

CSS:

#show{
  width:100%; 
  height:200px;
  background:#000;
  color:#fff;
}

JS

function objectToXml(obj) {
        var xml = '';
        for (var prop in obj) {
            if (!obj.hasOwnProperty(prop)) {
                continue;
            }
            if (obj[prop] == undefined)
                continue;
            xml += "<" + prop + ">";
            if (typeof obj[prop] == "object")
                xml += objectToXml(new Object(obj[prop]));
            else
                xml += obj[prop];
            xml += "</" + prop + ">";
        }
        return xml;
    } 
    var myJson={"id":1,"name":"Albert","dob":"2011-02-19","gender":"male","email":"albert@rediffmail.com","language":"English"}
    var xmlString = objectToXml(myJson);
    document.getElementById("show").innerHTML=xmlString;
    alert(xmlString);
    console.log(xmlString);

当使用.innerHTML时,我真的不明白为什么不打印XML字符串的原因。

这是JS FIDDLE

1 个答案:

答案 0 :(得分:1)

innerHTML渲染 html。

改为使用innerText

请参阅更新小提琴:jsfiddle-link