stop jquery append 删除换行符

stop jquery append removing line breaks

我有一个 div 看起来像这样

<div id='wrap'></div>

我想.append()

<input value="a&#10;b">

但值更改为

"ab" 

追加之后。它似乎只在 IE 中这样做。我做错了什么?

它不仅在 IE 中。 &#10; - ASCII 中的换行符。如果您想要多行字段,请尝试使用 <textarea>。否则你可以使用零宽度 space:

<input value="a&&#8203#10;b">

DEMO

您也可以试试这个:

$("#wrap").append("<input/>").find("input").val("a&#10;b");

FIDDLE

您需要使用:

$("#wrap").append("<input/>").find('input').val($('<div>').html('a&amp;#10;b').text());

Working Demo

如果您希望换行符实际上是换行符,请改用 textarea

$('#wrap').append($('<textarea>a&#10;b</textarea>'));

但是如果你想让输入显示 a&#10b 你需要用 &#38;&amp;

转义符号
$('#wrap').append($('<input value="a&amp;#10;b">'));

JSFiddle