我正在尝试使用带有以下代码的jquery将html代码存储在textarea字段中:
var text ="<p>Hello, my name is Sam</p>";
var textarea = d.createElement( 'textarea' ); // Creates textarea to store text
div.appendChild( textarea );
textarea.innerHTML = text;
// $("textarea").val(modified_clipboard_text); // same issue
console.log( textarea.innerHTML ); // output should not be escaped html
问题是,html字符串会转换为转义实体(至少在Chrome中)。例如:<p>
转换为<p>
答案 0 :(得分:0)
您可以使用此功能:
function htmlUnescape(encodedString){
return $("<p/>").html(encodedString).text();
}
喜欢
var text ="<p>Hello, my name is Sam</p>";
var textarea = d.createElement( 'textarea' ); // Creates textarea to store text
div.appendChild( textarea );
textarea.innerHTML = text;
// $("textarea").val(modified_clipboard_text); // same issue
console.log( htmlUnescape(textarea.innerHTML) ); // output should not be escaped html
答案 1 :(得分:0)
JQuery解决方案
你正在使用jquery所以为什么不使用魔法:
var text ="<p>Hello, my name is Sam</p>";
$('#container').append('<textarea></textarea>');
$('#container textarea').val(text);
$('#select-btn').click(function() {
$('#container textarea').select();
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id='container'></div>
</br>
<button id='select-btn'>Select</button>
&#13;