我从 div 中获取一些文本,如下所示:
var scriptContent = document.getElementsByTagName("pre")[0].innerHTML;
但如果文本包含“X is < than Y”,则 scriptContent var 将包含“X is < than Y”。我真的需要得到与我在浏览器中看到的完全相同的字符串,即“X is < than Y”。
我该如何解决这个问题?
我从 div 中获取一些文本,如下所示:
var scriptContent = document.getElementsByTagName("pre")[0].innerHTML;
但如果文本包含“X is < than Y”,则 scriptContent var 将包含“X is < than Y”。我真的需要得到与我在浏览器中看到的完全相同的字符串,即“X is < than Y”。
我该如何解决这个问题?
来自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
使用textContent
属性而不是innerHTML
:
var pre = document.getElementsByTagName("pre")[0],
scriptContent = pre.textContent || pre.innerText;
jsFiddle 的现场演示。另一种方法innerText
是 IE<9。