-2

可能重复:
jquery .text 不会将 HTML 元素呈现到 DOM 中

我有一个 AJAX 函数<img>从服务器中提取标签。我的问题是,当我将页面上.text()的 a 属性设置为该标签时,不会呈现 HTML。相反,它只是将标签显示为文本。span<img>

这是我的代码:

// jQuery
$.ajax({
  url: 'forms/scripts/getStatus.php',
  dataType: 'json',
  type: 'POST',
  data: {
      subfolderID:rowID
  },
  async: false,
  success: function(data){
      if(data.errorsExist == "Y"){
          alert(data.appError);
      }
      else{
          $("#trackStatus").text(data.status);    
      } 
  },
  error: function(){
      alert("Error! Could not retrieve tracking status");
  }
});

我的 HTML:

<td><span id="trackStatus"></span></td>

如何让img标签呈现为 HTML?也许我不应该使用 a spanwith.text()方法...?

4

3 回答 3

7

使用 .html()而不是.text()

于 2012-10-11T17:48:36.983 回答
2

.text()转义 HTML。.html()没有,所以使用.html().

于 2012-10-11T17:49:01.120 回答
1

这就是text函数的目的:

我们需要注意,此方法会根据需要对提供的字符串进行转义,以便在 HTML 中正确呈现。

改用html函数:

$("#trackStatus").html(data.status);    
于 2012-10-11T17:48:47.833 回答