2017-02-23 3 views
0

JSONをJavaスクリプト関数でXML文字列に変換しています。私もそれを成功させることさえできます。しかし、私は3つの異なる方法でそれを表示しようとしたとき、alertとconsole.log()に合併したときに.innerHTMLに異なる出力が得られます そのような違いの理由は何ですか?私がやっていることは間違っていますか?.innerHTMLと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":"[email protected]","language":"English"} 
    var xmlString = objectToXml(myJson); 
    document.getElementById("show").innerHTML=xmlString; 
    alert(xmlString); 
    console.log(xmlString); 

私は本当に理由を理解していない理由をXML文字列ここで

は私のコードを行きます.inを入力すると印刷されません。 nerHTMLが使用されます。ここで

JS FIDDLE

+1

'innerHTML'は*はい –

答えて

1

innerHTML HTMLをレンダリングしますです。

代わりにinnerTextを使用してください。

は、更新フィドルを参照してください:jsfiddle-link

+0

... * HTMLをレンダリングします!私は違いがあります。したがって、HTMLとしてレンダリングする場合、基本的には他のHTMLタグと同様に開始タグと終了タグを削除します。応答のためのThanx。 – Venky

+1

はい、基本的にカスタムタグを使用できますので、http://stackoverflow.com/questions/2802687/is-there-a-way-to-create-your-own-html-tag-in-html5 –

+0

こちらをご覧くださいポイントを得る! – Venky

関連する問題