0

我从 div 中获取一些文本,如下所示:

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

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

我该如何解决这个问题?

4

2 回答 2

2

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

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

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

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

于 2013-09-02T16:23:09.510 回答
1

使用textContent属性而不是innerHTML

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

jsFiddle 的现场演示。另一种方法innerText是 IE<9。

于 2013-09-02T16:23:14.293 回答