jQuery .append()未呈现HTML实体

9

我有一个包含HTML代码的变量,例如:

var html = '<div>Hello, you&#39;re awesome!</div>';

我想将它附加到一个元素上$("body").append(html),但由于某种原因它没有解码HTML实体。 我尝试过$("body").append($(html));,但是这并没有起作用。 我的文本被卡在元素内部,我无法将其分开。

是否有任何方法将带有文本实体的HTML附加到另一个元素中,并使HTML实体在页面上呈现?

我已经阅读了关于html实体的一堆stackoverflow帖子,似乎其中没有包括类似这样的变量中的html和文本&。


1
这对我来说完全正常:http://jsfiddle.net/zF4Va/1/ - Blender
像这样吗?http://jsfiddle.net/ruALs/ - Kevin B
啊,我的文本是 &amp;#39;!我应该在环境之外检查并确认。谢谢! - ThomasReggi
2个回答

11

试一下这个:

var html = $('<div>Hello, you&#39;re awesome!</div>');
$("body").append(html)

点击此处查看演示


8
这对我有用,但是我必须在结尾处添加 .get(0)。 - zzxjoanw

2

可能是因为在jQuery代码尝试附加内容时,您的页面尚未完成加载。请尝试以下操作:


$(document).ready(function (){
  var html = '<div>Hello, you&#39;re awesome!</div>';
  $('body').append(html)
});

我建议只使用单引号,除非你需要使用转义字符。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接