在IE中,当我将文本插入标记时,新行被忽略:
使用\r\n
而不是普通\n
不起作用.
确实有效但在FF中插入了一个额外的空白行,这对我来说是不可接受的.
这些quirksmode.org错误报告和有关Internet Explorer的innerHTML行为的评论可以帮助:
" IE将HTML规范化应用于分配给innerHTML属性的数据.这会导致在应该保留格式的元素中显示空格的错误,例如和
"
这在IE中有用吗?
document.getElementById("putItHere") .appendChild(document.createTextNode("first line\nsecond line"));
我用Firefox测试它,它的工作原理.:-)
可以在已接受答案中链接到的页面中找到解决方法.为了便于使用,它是:
if (elem.tagName == "PRE" && "outerHTML" in elem) { elem.outerHTML = "" + str + ""; } else { elem.innerHTML = str; }