jQuery的parseHTML方法
// data html字符串
// context 如果指定了context,则碎片将在此范围内被创建,默认是document
// keepScripts 如果是true,则将有scripts加入html字符串
parseHTML: function( data, context, keepScripts ) {
//如果data不存在或者data不是字符串则直接返回null
if ( !data || typeof data !== "string" ) {
return null;
}
// 如果context是Boolean则说明用户没有传入context,而是传入了keepScripts
if ( typeof context === "boolean" ) {
keepScripts = context;
context = false;
}
// 如果用户没传入context,则默认context==document
context = context || document;
// 使用正则检测data是不是纯标签
var parsed = rsingleTag.exec( data ),
scripts = !keepScripts && [];
// 如果是纯标签
if ( parsed ) {
// 创建元素节点
return [ context.createElement( parsed[1] ) ];
}
//如果不是纯标签,则进入buildFr函数继续处理,该方法返回html碎片。
parsed = jQuery.buildFragment( [ data ], context, scripts );
// 创建script标签??
if ( scripts ) {
jQuery( scripts ).remove();
}
// 将生成的节点放入数组中返回
return jQuery.merge( [], parsed.childNodes );
},
jQuery的parseHTML方法的更多相关文章
- Jquery源码中的Javascript基础知识(四)— jQuery.fn.init方法
$() 即调用了jQuery.fn.init方法 jQuery = function( selector, context ) { return new jQuery.fn.init( selecto ...
- jQuery常用工具方法
前面的话 jQuery提供一些与元素无关的工具方法,不必选中元素,就可以直接使用这些方法.如果理解原生javascript的继承原理,那么就能理解工具方法的实质.它是定义在jQuery构造函数上的方法 ...
- jquery 通过submit()方法 提交表单示例
jquery 通过submit()方法 提交表单示例: 本示例:以用户注册作为例子.使用jquery中的submit()方法实现表单提交. 注:本示例仅提供了对表单的验证,本例只用选用了三个字段作为测 ...
- jquery.on()超级方法
$.on()方法是jquery1.7之后的一个超级方法,将事件绑定和事件委托整合到一个函数中去,支持绑定多个事件,并且可以绑定自定义事件.使用起来很方便. demo传送门 事件委托 首先说一下事件委托 ...
- 重写jquery的ajax方法
//首先备份下jquery的ajax方法 var _ajax=$.ajax; //重写jquery的ajax方法 $.ajax=function(opt){ //备份opt中error和success ...
- jQuery的extend方法
jq中的extend在面试中经常会被问道,今天我总结一个下有关于extend的用法三种进行对比,可能不全,希望大家指点, 用法一: $.extend({}) ,为jQuery类添加方法,可以理解为扩 ...
- jQuery中eq()方法用法实例
本文实例讲述了jQuery中eq()方法用法.分享给大家供大家参考.具体分析如下: 此方法能够获取匹配元素集上的相应位置索引的元素. 匹配元素集上元素的位置索引是从0开始的. 语法结构: 复制代码 代 ...
- HTML 5 的自定义 data-* 属性和jquery的data()方法的使用
人们总喜欢往HTML标签上添加自定义属性来存储和操作数据.但这样做的问题是,你不知道将来会不会有其它脚本把你的自定义属性给重置掉,此外,你这样做也会导致html语法上不符合Html规范,以及一些其它副 ...
- 深度理解Jquery 中 offset() 方法
参考原文:深度理解Jquery 中 offset() 方法
随机推荐
- Linux运维基础命令笔试题--看看你会多少?
老男孩教育linux运维就业班第一周课后学习效果能力上机大考察 (每题10分共130分,过100即可,请给出详细步骤) 1.创建目录/data/oldboy ,并且在该目录下创建文件oldboy.tx ...
- 在Centos7下发布.NET CORE项目[转]
1.安装安装前准备开发环境 编译类库:yum -y install gcc make gcc-c++ openssl-devel 系统信息: CentOS Linux release 7.2.1511 ...
- Linux 查看系统硬件信息
linux查看系统的硬件信息,并不像windows那么直观,这里我罗列了查看系统信息的实用命令,并做了分类,实例解说. cpu lscpu命令,查看的是cpu的统计信息. blue@blue-pc:~ ...
- thinkphp 外部js语言包
Thinkphp php文件也外部js文件公用同一个语言包 一 . php语言包转json数据格式 1.新建验证字段的语言包 application\common\lang\validate-cn.p ...
- Zero-Copy实现原理
参考文章 Nio Is Real 'Zero-Copy'?:https://dongc.github.io/2015/12/09/717/ 参考文章:Linux I/O (二):A Process O ...
- 【DeepLearning】汉字手写体识别
http://blog.topspeedsnail.com/archives/10897 两个双卷积池化 + dropout + 2个全链接 + softmax
- Unity接第三方SDK时遇到的坑
1.大部分SDK的方法需要在线程中执行,一般会放在主线程里执行,安卓中主线程一般用于UI渲染. this.runOnUiThread(new Runnable() { @Override public ...
- abbyy在使用时提示更改分辨率如何处理
ABBYY FineReader 12识别质量取决于文档图像的分辨率.低图像分辨率(低于 150 dp)可能会降低识别质量,而过高的分辨率(高于 600 dpi)也不会明显提升图像质量,还会延长处理时 ...
- C#操作共享文件夹
public class NetFileShare { public NetFileShare() { } public static bool connectState(string path) { ...
- Owe Her
I owe her too much a wedding, i think i never pay her for it a life,