关于JQuery的html(data)方法与<script>脚本块

  在使用Jquery的html(data)方法执行写数据到Dom元素时遇到一个问题:在data参数中包含script脚本块的时候,html(data)方法的执行结果与预期不符,Teddy's Knowledge Base2008-04-22也曾经在这里提到过类似的问题,原文如下:

“今天才注意到jQuery(...).html()方法返回的HTML会过滤掉所有的<script>块,但有时候,特别是在AJAX应用中,常常是需要保留HTML中的<script>块的,比如局部更新含脚本的内容,此时切忌不要用html()来读写HTML,还是要老老实实用elem.innerHTML。今天因为这个问题浪费了1个小时,特此给大家提个醒。”

  经过测试发现,新版本(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这种方式解决了这个问题,特此标记。

 

转载于:https://www.cnblogs.com/coloeme/archive/2010/03/09/1681212.html

这是一个基于 ESP8266 微控制器的调光控制页面的 HTML 代码。其中: - `<!DOCTYPE html>` 和 `<html>` 标签定义了 HTML 文档的类型和根元素。 - `<head>` 标签包含了文档的元数据,如标题、字符编码和引用的外部资源。 - `<title>` 标签定义了文档的标题。 - `<meta>` 标签提供了关于文档的元信息,其中 `charset` 属性指定了字符编码。 - `<script>` 标签用于定义客户端脚本,这里引用了 jQuery 库。 - `<body>` 标签包含了可见的页面内容。 - `<h1>` 标签定义了页面的主标题。 - `<p>` 标签定义了一个段落。 - `<input>` 标签定义了一个拖动条,`type` 属性指定了类型为 range,`min`、`max` 和 `value` 属性分别指定了最小值、最大值和默认值。 - 在 JavaScript 代码中,`$(function() {...})` 表示在页面加载完成后执行函数中的代码。 - `$('#brightness').on('input', function() {...})` 表示当拖动条的值发生变化时执行函数中的代码。 - `var brightness = $(this).val()` 获取当前拖动条的值。 - `$.ajax({...})` 发送一个 AJAX 请求到指定的 URL,其中 `url` 属性指定了请求的地址,`method` 属性指定了请求的方法为 POST,`data` 属性指定了请求的数据,`dataType` 属性指定了响应的数据类型为 JSON。 - 当请求成功时,`success` 函数会被调用,`response` 参数包含了响应的数据。 - 当请求失败时,`error` 函数会被调用,`xhr`、`status` 和 `error` 参数分别包含了请求对象、请求状态和错误信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值