如何用jQuery中动态生成的元素替换Div元素?

时间:2015-04-19 14:05:02

标签: javascript jquery html css

我有像这样的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");

价值是&amp;lt;div class="row"&amp;gt;&lt;div&gt;&amp;nbsp; &amp;nbsp;&amp;lt;div class="col-md-12"&amp;gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;p&amp;gt;Hello this is my new paragraph&amp;lt;/p&amp;gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/div&amp;gt;&lt;/div&gt;&lt;div&gt;&amp;lt;/div&amp;gt;&lt;/div&gt;

3 个答案:

答案 0 :(得分:0)

.append内部的参数应该是一个jquery对象。在您的情况下,您已经创建了一个对象:$('<div/>').html(value)。您只需要放弃.text()。简而言之,您需要更改此

$('<div/>').html(value).text() 

$('<div/>').html(value)

答案 1 :(得分:0)

我的朋友希望您必须更换现有的div,您可以尝试下面的内容

$("#div1").replaceWith("<div>I'm new!</div>");

有关使用Read

替换的详细信息

答案 2 :(得分:0)

您可以尝试运行两次:

var escaped1 = $('<div/>').html(value).text();
var escaped2 = $('<div/>').html(escaped1).text();

$("#dvInsert").append($(escaped2));

但我确信有更好的方法......