【发布时间】:2013-10-23 10:14:15
【问题描述】:
所以我一直在尝试在 jQuery 中使用 .html() 函数解码字符串,除了在 IE 上它工作得非常好......
这是我的字符串:
ééé\r\nààà
我希望这是:
ééé\r\nààà
我目前在 .html() 之后使用 IE:
ééé ààà
所以这在 FF 和 Chrome 上看起来不错,但在 IE 上所有换行符都被删除了。 我发现一篇文章 (http://web.student.tuwien.ac.at/~e0226430/innerHtmlQuirk.html) 解释了问题在于 .html() 函数使用的 .innerHTML...
我真的很惊讶没有找到关于这个的话题。有什么解决办法吗? 也许在 IE 上做一个特定的功能来解码?
更多代码如下:
var itemDescription = "ééé\r\nààà";
$('.feeds').find('textarea.description[ifid="' + ifid + '"]').html(itemDescription);
【问题讨论】:
-
这是标准行为。 HTML 中的换行符被完全忽略,因此您需要使用
<br />标记手动强制它们。 -
^^ 这个。执行字符串替换(拆分和连接)将
\r\n更改为<br />,它将在所有浏览器上表现一致。 -
其实这是在textarea中,不幸的是多个
只做了一个换行。 -
如果是textarea,如果使用
.val()而不是.html()来设置值会怎样?
标签: javascript jquery html internet-explorer innerhtml