我试过获取textarea(多行)的文本并将文本设置为div.但div只有一行来自textarea的文本
这是我的代码:
//html structure
<div>
<textarea id="cmt_content" rows="10" cols="60"></textarea>
<br> <input id="addAccordion" type="button" value="ADD COMMENT" />
</div>
<div id="rs">
</div>
//script
$('#addAccordion').click(function(){
var content = document.createElement("div");
content.appendChild(document.createTextNode($("#cmt_content").val()));
$('#rs').append(content);
});
Run Code Online (Sandbox Code Playgroud)
非常感谢你!
您必须将换行符转换为正确的HTML <br>标记.
var html = $("#cmt_content").val().replace(/(\n|\r|\r\n)/g, '<br>');
Run Code Online (Sandbox Code Playgroud)
然后简单地将其设置为您创建的div的innerHTML:
content.innerHTML = html;
Run Code Online (Sandbox Code Playgroud)
或者您可以将它组合成一行:
content.innerHTML = $("#cmt_content").val().replace(/(\n|\r|\r\n)/g, '<br>');
Run Code Online (Sandbox Code Playgroud)
查看实例:http://jsfiddle.net/samliew/RhHaS/
最终代码:
$('#addAccordion').click(function(){
var content = document.createElement("div");
content.innerHTML = $("#cmt_content").val().replace(/(\n|\r|\r\n)/g, '<br>');
$('#rs').append(content);
});
Run Code Online (Sandbox Code Playgroud)