全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

jQuery.parseHTML() 函数详解

定义和用法

$.parseHTML() 函数用于将HTML字符串解析为对应的DOM节点数组。

注意:

1. 该函数将使用原生的DOM元素创建函数把HTML字符串转换为一个DOM元素的集合,你可以将这些DOM元素插入到文档中。

2. 如果没有指定context参数,或该参数为null或undefined,则默认为当前document。如果创建的DOM元素用于另一个文档,例如iframe,则应该指定该iframe的document对象。

安全考虑:大多数jQuery API都允许HTML字符串在HTML中包含运行脚本。 jQuery.parseHTML()不会运行解析的HTML中的脚本,除非你明确将参数keepScripts指定为true。 不过,大多数环境仍然可以间接地执行脚本,例如:通过属性。调用者应该避免 这样做,并清理或转义诸如URL、cookie等来源的任何不受信任的输入,从而预防出现这种情况。 出于未来的兼容性考虑,当参数keepScripts被省略或为false时,调用者应该不依赖任何运行脚 本内容的能力。

语法

$.parseHTML( htmlString [, context ] [, keepScripts ] )

参数 描述
htmlString String类型 需要解析并转为DOM节点数组的HTML字符串
context Element类型 指定在哪个Document中创建元素,默认为当前文档的document
keepScripts Boolean类型 指定传入的HTML字符串中是否包含脚本,默认为false

实例
使用一个HTML字符串创建一个数组的Dom节点,并将它插入一个div

<div id="log">
  <h3>Content:</h3>
</div>
<script>
$(function () { 
  var $log = $( "#log" ),
    str = "hello, <b>my name is</b> jQuery.",
    html = $.parseHTML( str ),
    nodeNames = [];
  //添加已解析的HTML
  $log.append( html );
  //集合已解析HTML的节点名称
  $.each( html, function( i, el ) {
    nodeNames[i] = "<li>" + el.nodeName + "</li>";
  });
  // 插入节点名
  $log.append( "<h3>Node Names:</h3>" );
  $( "<ol></ol>" )
    .append( nodeNames.join( "" ) )
    .appendTo( $log );
})
</script>

示例&说明

以下是与jQuery.parseHTML()函数相关的jQuery示例代码,以演示jQuery.parseHTML()函数的具体用法:

// "<\/script>"必须通过\将/转义,否则JS会认为已经到了脚本结束的位置
var html = 'Hello,<b>CodePlayer</b><script type="text/javascript">alert("执行脚本代码");<\/script>';


var doms = $.parseHTML( html );
// 不会执行脚本代码
$("#n1").append(doms);

alert("分割线");

doms = $.parseHTML( html, true );
// 会执行脚本代码
$("#n1").append(doms);

返回值

jQuery.parseHTML()函数的返回值为Array类型,返回解析指定HTML字符串后的DOM节点数组。

jQuery.parseHTML使用原生方法将字符串转换为一个DOM节点的集合,然后可以插入到文档。 这些方法渲染所有尾随或前导文本(即使只是空格)。 为了防止尾随/前导空格被转换为文本节点,你可以通过将HTML字符串传递给jQuery .trim。

默认情况下,如果没有指定或给定null 或 undefined,context是当前的document。如果HTML被用在另一个document中,比如一个iframe,该frame的文件可以使用。

在3.0中,这种默认行为已经被改变。如果没有指定context,或者给定值为null 或 undefined,那么将使用一个新的document。这有可能会提高安全性,因为当HTML解析时,内嵌的事件将不会执行。一旦解析的HTML注入到文档中它会执行,但是这给工具一个机会,遍历创建DOM和删除任何东西被视为不安全。这种改进并不适用于jQuery.parseHTML的内部使用,因为他们通常传递给当前文档。因此,如类似$( "#log" ).append( $( htmlString ) )的声明,仍然受制于恶意代码注入。

Security Considerations(安全注意事项)

大多数的jQuery的API接受的HTML字符串将运行所包含在HTML中的脚本。jQuery.parseHTML不运行HTML中解析出来的脚本,除非 keepScripts参数为true。然而,它仍然是可能在大多数环境中间接地执行脚本,例如通过<img onerror>属性。调用者应该意识到这一点,并通过清理或避免任何不可信来源的输入,如URL或cookies,来防止它。为了未来的兼容性,当keepScripts为不确定的或false时,调用者不应该依赖于这个能力来运行任何脚本内容。


# jQuery  # parseHTML  # 解决jquery有正确返回值但不执行success函数的问题  # jQuery中常用动画效果函数知识点整理  # jQuery实现ajax回调函数带入参数的方法示例  # 基于jquery trigger函数无法触发a标签的两种解决方法  # JavaScript自执行函数和jQuery扩展方法详解  # jQuery使用bind函数实现绑定多个事件的方法  # jquery中封装函数传递当前元素的方法示例  # jQuery中map函数的两种方式  # jquery中用函数来设置css样式  # jquery的$().each和$.each的区别  # 文档  # 如果没有  # 转换为  # 你可以  # 调用者  # 默认为  # 值为  # 未来  # 遍历  # 适用于  # 能在  # 不受  # 这样做  # 意识到  # 这种情况  # 可以使用  # 因为他们  # 仍然是  # 不确定  # 将它 


相关文章: 婚礼视频制作网站,学习*后期制作的网站有哪些?  网站设计制作公司地址,网站建设比较好的公司都有哪些?  电影网站制作价格表,那些提供免费电影的网站,他们是怎么盈利的?  如何在阿里云域名上完成建站全流程?  建站之星如何优化SEO以实现高效排名?  如何快速查询网址的建站时间与历史轨迹?  建站之星官网登录失败?如何快速解决?  香港服务器选型指南:免备案配置与高效建站方案解析  网站代码制作软件有哪些,如何生成自己网站的代码?  如何制作一个表白网站视频,关于勇敢表白的小标题?  网站建设设计制作营销公司南阳,如何策划设计和建设网站?  公众号网站制作网页,微信公众号怎么制作?  厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?  javascript基本数据类型及类型检测常用方法小结  建站之星logo尺寸如何设置最合适?  建站主机解析:虚拟主机配置与服务器选择指南  网站制作员失业,怎样查看自己网站的注册者?  音乐网站服务器如何优化API响应速度?  高端建站三要素:定制模板、企业官网与响应式设计优化  大学网站设计制作软件有哪些,如何将网站制作成自己app?  如何在景安云服务器上绑定域名并配置虚拟主机?  智能起名网站制作软件有哪些,制作logo的软件?  建站之星ASP如何实现CMS高效搭建与安全管理?  C#怎么使用委托和事件 C# delegate与event编程方法  做企业网站制作流程,企业网站制作基本流程有哪些?  建站之星价格显示格式升级,你的预算足够吗?  Bpmn 2.0的XML文件怎么画流程图  网站专业制作公司,网站编辑是做什么的?好做吗?工作前景如何?  百度网页制作网站有哪些,谁能告诉我百度网站是怎么联系?  网站企业制作流程,用什么语言做企业网站比较好?  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  微信推文制作网站有哪些,怎么做微信推文,急?  网站制作公司,橙子建站是合法的吗?  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  移民网站制作流程,怎么看加拿大移民官网?  如何使用Golang安装API文档生成工具_快速生成接口文档  linux top下的 minerd 木马清除方法  怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?  如何在阿里云虚拟服务器快速搭建网站?  如何在云虚拟主机上快速搭建个人网站?  建站之星各版本价格是多少?  Swift中switch语句区间和元组模式匹配  广州网站制作的公司,现在专门做网站的公司有没有哪几家是比较好的,性价比高,模板也多的?  如何在建站宝盒中设置产品搜索功能?  建站之星后台密码遗忘或太弱?如何重置与强化?  如何选购建站域名与空间?自助平台全解析  电脑免费海报制作网站推荐,招聘海报哪个网站多?  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  建站VPS配置与SEO优化指南:关键词排名提升策略  如何在建站之星绑定自定义域名? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。