jQuery学习笔记之jQuery.fn.init()的参数分析


Posted in Javascript onJune 09, 2014

jQuery学习笔记之jQuery.fn.init()的参数分析

从return new jQuery.fn.init( selector, context, rootjQuery )中可以看出
参数selector和context是来自我们在调用jQuery方法时传过来的.
那么selector和context都有哪些可能.

jQuery学习笔记之jQuery.fn.init()的参数分析

 

对于表格中的4~9行中的可能做具体分析.
jQuery学习笔记之jQuery.fn.init()的参数分析

如果selector是字符串,则首先检测是html代码还是#id.
126行的if语句:以"<"开头,以">"结尾,且长度>=3.则假设额这个是HTML片段,这里只是假设不一定就是合肥的html代码.比如"<div><guofsfsdfd>";
130行的else:表示不是html代码.这个时候用正则表达式来检测.
jQuery学习笔记之jQuery.fn.init()的参数分析
我对正则不是很懂.不过大致可以看懂,匹配的是html和id.匹配的结果赋值给match.

分析完了selector,context参数后,我们是不是忘了rootjQuery参数.
这个参数是jQuery内部定义的.不是我们手动从外部传入的.
从名字上我们大概能猜出这个参数的大概情况了:根部的jQuery对象.
看源码定义:

jQuery学习笔记之jQuery.fn.init()的参数分析
那么什么情况下,程序会用到这个参数呢?
1.当document.getElementById()查找失败,

jQuery学习笔记之jQuery.fn.init()的参数分析
2.selector是函数:

jQuery学习笔记之jQuery.fn.init()的参数分析
3.selector是选择器表达式,且未指定context;

jQuery学习笔记之jQuery.fn.init()的参数分析

Javascript 相关文章推荐
JavaScript中实现块作用域的方法
Apr 01 Javascript
javascript 动态修改样式和层叠样式表代码
Apr 27 Javascript
JS中Iframe之间传值的方法
Mar 11 Javascript
解决JS浮点数运算出现Bug的方法
Mar 12 Javascript
Web跨浏览器进程通信(Web跨域)
Apr 17 Javascript
jquery实现的鼠标下拉滚动置顶效果
Jul 24 Javascript
所见即所得的富文本编辑器bootstrap-wysiwyg使用方法详解
May 27 Javascript
使用jQuery.Qrcode插件在客户端动态生成二维码并添加自定义Logo
Sep 01 Javascript
vue实现图书管理demo详解
Oct 17 Javascript
easyui下拉框动态级联加载的示例代码
Nov 29 Javascript
Vue动态路由缓存不相互影响的解决办法
Feb 19 Javascript
js+html实现周岁年龄计算器
Jun 25 Javascript
用box固定长宽实现图片自动轮播js代码
Jun 09 #Javascript
jQuery实现的Div窗口震动特效
Jun 09 #Javascript
js动态创建标签示例代码
Jun 09 #Javascript
jquery中 $.expr使用实例介绍
Jun 09 #Javascript
jQuery select表单提交省市区城市三级联动核心代码
Jun 09 #Javascript
javascript控制在光标位置插入文字适合表情的插入
Jun 09 #Javascript
js判断元素是否隐藏的方法
Jun 09 #Javascript
You might like
我用php+mysql写的留言本
2006/10/09 PHP
Symfony2框架学习笔记之表单用法详解
2016/03/18 PHP
Zend Framework框架路由机制代码分析
2016/03/22 PHP
在Win2003(64位)中配置IIS6+PHP5.2.17+MySQL5.5的运行环境
2016/04/04 PHP
php查询内存信息操作示例
2019/05/09 PHP
PHP底层运行机制与工作原理详解
2020/07/31 PHP
javascript的键盘控制事件说明
2008/04/15 Javascript
Jquery 数据选择插件Pickerbox使用介绍
2012/08/24 Javascript
将input file的选择的文件清空的两种解决方案
2013/10/21 Javascript
js控制淡入淡出示例代码
2013/11/12 Javascript
document节点对象的获取方式示例介绍
2013/12/24 Javascript
JavaScript截断字符串的方法
2015/07/15 Javascript
简单实现限制uploadify上传个数
2015/11/16 Javascript
jQuery+ajax实现实用的点赞插件代码
2016/07/06 Javascript
jquery 删除节点 添加节点 找兄弟节点的简单实现
2016/12/07 Javascript
原生javascript移动端滑动banner效果
2017/03/10 Javascript
Vue resource中的GET与POST请求的实例代码
2017/07/21 Javascript
vue.js vue-router如何实现无效路由(404)的友好提示
2017/12/20 Javascript
详解Ant Design of React的安装和使用方法
2018/12/27 Javascript
JavaScript实现页面中录音功能的方法
2019/06/04 Javascript
vue远程加载sfc组件思路详解
2019/12/25 Javascript
不要用强制方法杀掉python线程
2017/02/26 Python
Python Json序列化与反序列化的示例
2018/01/31 Python
Python3.8中使用f-strings调试
2019/05/22 Python
python爬虫 execjs安装配置及使用
2019/07/30 Python
python爬虫容易学吗
2020/06/02 Python
浅谈python 调用open()打开文件时路径出错的原因
2020/06/05 Python
Pytorch 扩展Tensor维度、压缩Tensor维度的方法
2020/09/09 Python
python Autopep8实现按PEP8风格自动排版Python代码
2021/03/02 Python
实例讲解使用CSS实现多边框和透明边框的方法
2015/09/08 HTML / CSS
阿拉伯世界最大的电子商务网站:Souq沙特阿拉伯
2016/10/28 全球购物
职工趣味运动会方案
2014/02/10 职场文书
党员个人自我剖析材料
2014/10/08 职场文书
apache基于端口创建虚拟主机的示例
2021/04/22 Servers
MySQL数据库超时设置配置的方法实例
2021/10/15 MySQL
Redis之RedisTemplate配置方式(序列和反序列化)
2022/03/13 Redis