我从div中得到一些文字,如下:
var scriptContent = document.getElementsByTagName("pre")[0].innerHTML;
但如果文本中包含“X is< than Y”之类的内容,则scriptContent var将包含“X & lt 而不是Y”。我真的需要得到我在浏览器中看到的完全相同的字符串,即“X is< than Y”。
我该如何解决这个问题?
答案 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。