可能重复:
how to make iphone apps like ibeer, imilk, ibug, ibeer
Use javascript to get raw html code
假设我有一个像这样的html部分:
<div id="post_content">
<span>▶<span>
</div>
(这是正确的指向三角形)
我希望将“post_content”的子节点视为原始html,即字符串与上面的代码完全相同,所以:
"<span>▶<span>"
当我这样做时
$('#post_content').html()
当我使用$ .post()发布时,跨度get的内容转换为其他内容,例如它变为%E2%96%B6。
如何将post_content的内容作为与原始字符串完全相同的字符串?
答案 0 :(得分:0)
看看这里:
How to decode HTML entities using jQuery?
基本上使用:
var decoded = $("<div/>").html(encodedStr).text();
会得到你想要的东西。
答案 1 :(得分:0)
如this excellent answer中所述,您不能将收到的HTML解析为DOM,只能用于编写脚本。您只能从XMLHttpRequest的responseText
获取纯文本。
如果从DOM获取innerHTML
($el.html()
做什么),则会序列化。 HTML5 specifies how to do that,但旧版浏览器通常不符合规定。
问题$.post()
是这个方法在HTTP请求中发送文本 - 当然是编码的。您看到的只是encodeURIComponent
应用于您获得的Unicode字符串。尝试alert()
或console.log()
值,您将看到它的真实表示。