就您所关心的而言,一旦您使用.html()之类的内容“提取”了内容,它只是一个字符串。你可以用
<html> <head> <title>runthis</title> <script type="text/javascript" language="javascript" src="jquery-1.3.2.js"></script> <script type="text/javascript"> $(document).ready( function() { var x = $("#foo").html(); alert( typeof(x) ); }); </script> </head> <body> <div id="foo"><table><tr><td>x</td></tr></table><span>xyz</span></div> </body></html>警报文本为 string 。只要您不将其传递给解析器,就不会有任何魔力,它就像其他字符串一样是字符串。
没有什么可以阻止您使用.post()将此字符串发送回服务器的。
编辑 :不要将字符串作为参数 数据 传递给.post(),而是将对象传递给
var data = { id: currid, html: div_html};$.post("http://...", data, ...);jQuery将处理参数的编码。
如果您(出于某种原因)想要保留您的字符串,则必须使用escape()之类的值对值进行编码。
var data = 'id='+ escape(currid) +'&html='+ escape(div_html);



