从接口获取的数据中,html元素<>经过转义,怎样按原始的意义将数据输出显示呢?

<div id = "content">


</div>

var divDom = document.getElementById("content");

从接口中获取的数据类似与:

var srcData = 新华网哈尔滨1月16日电 (记者王子辰)世界三大评级机构之一穆迪在16日发布的《每周信用展望》中表示,中国财政部本月早些时候宣布的提高石油特别收益金起征点的政策,对包括中石油、中石化和中海油在内的中国石油天然气生产企业的信用评级构成正面利好。&lt;/p&gt;&lt;p&gt;  


直接通过divDom.innerHTMl = srcData;

则显示出来的是

    新华网哈尔滨1月16日电 (记者王子辰)世界三大评级机构之一穆迪在16日发布的《每周信用展望》中表示,中国财政部本月早些时候宣布的提高石油特别收益金起征点的政策,对包括中石油、中石化和中海油在内的中国石油天然气生产企业的信用评级构成正面利好。</p><p> 


可以看到<p>等标签都以字符的形式出来。


&lt;是对< 的转义,意思是对浏览器说,必要解析<符号,同理gt >.


而通过 divDom.innerHTML = srcData;

             divDom.innerHTMl = divDom.innerText;(ie下面才有用)

这两步,即可得到将转义的字符变成非转义的显示效果。

innerText 得到了上述的经过浏览器渲染的文本,然后赋值给innerHTML,这样就可以达到将转义的符号,非转义的显示了效果了



需要提醒的是ie外的浏览器,没有innerText 属性,用类似的属性,并没有达到想要的结果,如innerConent,textContent.

有兼容的方法,欢迎留言


你可能感兴趣的:(html,浏览器,IE,div)