得到&格式化来自简单字符串的HTML标记

时间:2012-03-20 07:37:16

标签: javascript jquery html

我有一个String变量说

strHTML = "<div class='abc'> This is a test <span class='xyz'> String </span> </div> "
我是从服务器接收的。当我使用

$('#container').append(strHTML);

它在“容器”中显示包含HTML标记的整个字符串。

我想要的是将每个HTML标记作为“容器”中的HTML元素&amp;应用我在其中定义的类..

5 个答案:

答案 0 :(得分:2)

拆分字符串并将其更改为DOM对象。然后你可以随意操纵它们。

Example

var abcDiv = $("<div></div>");
abcDiv.attr('class', 'abc'); // add class
var xyzSpan= $("<span></span>");
xyzSpan.attr('class', 'xyz'); //add class

abcDiv.append("This is a test"); //Add the text
abcDiv.append(xyzSpan); //Add the span

$('#container').append(abcDiv); //insert the div

答案 1 :(得分:2)

我这样做了...... 实际上,我所做的是......

var strHTML = "<div class='abc'> This is a test <span class='xyz'> String </span> </div> ";
$("#container").html(strHTML);

感谢大家帮助我......

答案 2 :(得分:0)

尝试

$('#container').append($(strHTML));

答案 3 :(得分:0)

您正在为class属性使用单引号。这是不正确的。

你需要这样做:

$(document).ready(function(){
var strhtml = '<div class="abc"> This is a test <span class="xyz"> String </span> </div>';
$('#container').append(strhtml);    
});
​

<强> Live Demo

请注意strhtml中的差异。我使用单引号来包装整个字符串,同时使用双引号作为类属性的值。

答案 4 :(得分:0)

您的代码没有任何问题。你确定字符串真的来自服务器的格式吗?或者有&lt; &GT;字符可能已被替换为&amp; lt和&amp; gt?