1

可能重复:
如何制作 ibeer、imilk、ibug、ibeer 等 iPhone 应用程序
使用 javascript 获取原始 html 代码

假设我有一个这样的 html 部分:

<div id="post_content">
  <span>&#9654;<span>
</div>

(这是右指向三角形)

我想将“post_content”的子元素作为原始html,即作为与上面代码完全相同的字符串,所以:

"<span>&#9654;<span>"

当我做

$('#post_content').html() 

跨度获取的内容似乎已转换为其他内容,例如,当我使用 $.post() 发布它时,它变成了 %E2%96%B6。

如何将 post_content 的内容作为与原始字符串完全相同的字符串?

4

2 回答 2

0

看看这里:

如何使用 jQuery 解码 HTML 实体?

基本上使用:

var decoded = $("<div/>").html(encodedStr).text();

会给你你想要的。

于 2012-09-14T12:36:52.627 回答
0

你不能,正如这个出色的答案中所解释的那样,接收到的 HTML 被解析成一个 DOM,只有它可用于脚本。您只能从responseTextXMLHttpRequest 中获取纯文本。

如果您innerHTML从 DOM 中获取 (做什么$el.html()),它将被序列化。HTML5指定了如何做到这一点,但旧版浏览器通常不兼容。

你的问题$.post()是这个方法在 HTTP 请求中发送文本 - 当然是编码的。您看到的只是encodeURIComponent应用于您获得的 Unicode 字符串。尝试alert()console.log()取值,你会看到它的真实表现。

于 2012-09-14T14:32:10.727 回答