<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="JQuery的html(data)方法与&lt;script&gt;脚本块的解决方法" id="card1">
<p> 游客</p><p>
标题:JQuery的html(data)方法与&amp;lt;script&amp;gt;脚本块的解决方法<br/>
正文:<br/>
在使用Jquery的html(data)方法执行写数据到Dom元素时遇到一个问题：在data参数中包含script脚本块的时候，html(data)方法的执行结果与预期不符&amp;ldquo;今天才注意到jQuery(...).html()方法返回的HTML会过滤掉所有的&amp;lt;script&amp;gt;块，但有时候，特别是在AJAX应用中，常常是需要保留HTML中的&amp;lt;script&amp;gt;块的,比如局部更新含脚本的内容，此时切忌不要用html()来读写HTML，还是要老老实实用elem.innerHTML。今天因为这个问题浪费了1个小时，特此给大家提个醒。&amp;rdquo; 经过测试发现，新版本（1.3.2之后的，之前版本未考证过）的jQuery(...).html()方法已经不存在该问题（html()方法是一个读Dom元素数据的操作），但是当用html(data)方法写数据到Dom元素并且data参数中包含script脚本时，又出现了异常现象：在Firefox（我用的3.6）浏览器下执行上述操作，data参数里面的script脚本会自动运行，引起页面破相、异常等错误，比如我遇到的问题就是：在script中存在document.write方法时，在执行完html(data)操作后整个页面的原有的dom元素都消失了，只剩下document.write()方法的执行结果，引起了页面破相；具体原因待讨论，最后还是用elem.innerHTML=data这种方式解决了这个问题，特此标记。<br/><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=215&amp;Page=1">[&lt;&lt;]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=215&amp;Page=1">[[1]]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=215&amp;Page=1">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=215">查看评论(0)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=215">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://camnpr.com/wap.asp">首页</a>
</p>
</card>
</wml>