我有像这样的div结构
<div class="col-md-12" id="dvInsert">
// insert dynamic generated elements
</div>
我正在解码HTML元素,并希望附加到现有的div,但它在浏览器中显示div结构,如下所示:
<div class="col-md-12">
<p>Hello this is my new paragraph</p>
</div>
function htmlDecode(value) {
$("#dvInsert").append($('<div/>').html(value).text());
}
我也尝试了这个,但是它也是一个较强的div strcuture而不是文本。
$($('<div/>').html(value).text()).appendTo("#dvInsert");
价值是&lt;div class="row"&gt;<div>&nbsp; &nbsp;&lt;div class="col-md-12"&gt;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&lt;p&gt;Hello this is my new paragraph&lt;/p&gt;</div><div>&nbsp; &nbsp; &nbsp;&lt;/div&gt;</div><div>&lt;/div&gt;</div>
答案 0 :(得分:0)
.append
内部的参数应该是一个jquery对象。在您的情况下,您已经创建了一个对象:$('<div/>').html(value)
。您只需要放弃.text()
。简而言之,您需要更改此
$('<div/>').html(value).text()
到
$('<div/>').html(value)
答案 1 :(得分:0)
答案 2 :(得分:0)
您可以尝试运行两次:
var escaped1 = $('<div/>').html(value).text();
var escaped2 = $('<div/>').html(escaped1).text();
$("#dvInsert").append($(escaped2));
但我确信有更好的方法......