【问题标题】:innerHtml and innerText destroys tabs in Internet ExplorerinnerHtml 和 innerText 破坏 Internet Explorer 中的选项卡
【发布时间】:2010-08-11 14:19:24
【问题描述】:
我想获取文本区域的内容并将其放入<pre>。问题是,如果我将 pre 的 innerHTML 属性设置为 textarea 的值,则 Internet Explorer 中的所有制表符和换行符都将被删除。如果我使用 innerText 而不是 innerHtml 我会得到换行符,但制表符仍然会消失。在其他浏览器中运行良好。
有解决办法吗?
【问题讨论】:
标签:
javascript
html
internet-explorer
innerhtml
【解决方案1】:
创建一个 DOM 文本节点:
pre.innerHTML= '';
pre.appendChild(document.createTextNode('A\tB\r\nC'));
Windows 样式的换行符 (\r\n) 是伪造的(DOM 内容应该始终具有标准化为 \n 的换行符),但出于某种原因在 IE 中似乎是必需的。