2

这是JSON:

{ "expression" : "Hello World",
  "message" : "Hello<br>World. I'm trying also to write <something> inside greater than and lower than signs."
},

这是jQuery:

$(".info").append(obj[i].message);

这是HTML:

<div class="info"></div>

我得到的是“<”和“>”内的所有内容都没有显示在div中。

4

1 回答 1

4

这与 JSON 无关。

如果您给它一个字符串,该append方法会将您给它的内容解释为 HTML 标记。所以很自然,<字符必须正确编码为&lt;,就像通常在 HTML 中一样。只需对它们进行编码,即可append正常工作。

您提供的示例看起来像是标记,因为您有一个<br>。问题是<something>,它看起来像一个标签。应该是&lt;something>&lt;something&gt;

如果您希望将文本解释为文本,而不是 HTML,则可以使用该text方法,或者完全替换div's 的内容:

$(".info").text(obj[i].message);

...或附加到它,因为您的代码当前正在尝试:

$(".info").append($("<span>").text(obj[i].message).html());
于 2013-07-14T12:11:23.850 回答