1

我的脚本从 PHP 页面接收一些数据。一项称为“内容”的项目包含 HTML 代码。我必须将我的 HTML 代码放在一个 div 中,但不幸的是,它被附加为纯文本。如何将它作为真正的 HTML 附加到 DOM?这是我的 jQuery 代码:

      $.ajax({
      'url': 'ajaxdashboard.php',
      dataType: 'json',
      cache: false,
      success: function (json) {
          $.each(json, function (key, value) {
              for (i = 0; i < value.length; i++) {
                  $('#arguments').append('<div class="well student" style="display: none;" id="post-' + value[i].id + '"><h3>' + value[i].title + '</h3><span>Published by <font color="blue"><b>' + value[i].name + ' ' + value[i].surname + '</b></font></span><br><br><span id="post-content-' + value[i].id + '"></span></div>');
                  $('#post-content-' + value[i].id).html(value[i].content);
                  $('#post-' + value[i].id).fadeIn();
              }
          });
      }
  });
4

2 回答 2

1

你的问题是 PHP 正在返回编码的 html。<在html中是<。因此,这就是用户将看到的。

更新您的 PHP 以返回原始 HTML。否则你可以用 jQuery 作弊,如下所示:

$('#post-content-' + value[i].id).html($(value[i].content).text());

用于解码 html 的源代码。

于 2012-10-07T12:29:01.790 回答
0

你的问题与此类似。

使用 text() 而不是 html() 自动转义。

使用 jQuery 转义 HTML 字符串

于 2012-10-07T12:16:23.010 回答