如何在Javascript上更改字符串的编码/字符集?

时间:2013-09-02 16:18:03

标签: javascript encoding character-encoding

我从div中得到一些文字,如下:

var scriptContent = document.getElementsByTagName("pre")[0].innerHTML;

但如果文本中包含“X is< than Y”之类的内容,则scriptContent var将包含“X & lt 而不是Y”。我真的需要得到我在浏览器中看到的完全相同的字符串,即“X is< than Y”。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

来自https://developer.mozilla.org/en-US/docs/Web/API/element.innerHTML

注意:如果a,或节点的子文本节点包含字符(&),(<)或(>),则innerHTML会将这些字符作为& amp,& amp;分别为和。 使用Node.textContent获取这些文本节点内容的正确副本。

document.getElementsByTagName("pre")[0].textContent;

请参阅:https://developer.mozilla.org/en-US/docs/Web/API/Node.textContent

答案 1 :(得分:1)

使用textContent属性而不是innerHTML

var pre = document.getElementsByTagName("pre")[0],
    scriptContent = pre.textContent || pre.innerText;

A live demo at jsFiddle。另一个innerText适用于IE< 9。