详解jquery选择器的原理


Posted in jQuery onAugust 01, 2017

详解jquery选择器的原理

html部分

<!doctype html> 
<html lang="en"> 
<head> 
  <meta charset="UTF-8" /> 
  <title>Document</title> 
  <script src="js/minijquery.js"></script> 
</head> 
<body> 
  <div class="one">1</div> 
  <div class="two">2</div> 
</body> 
<script> 
  var result = $("div"); 
  console.log(result); 
  alert($('div').size()); 
</script> 
</html> js

js部分

(function(){ 
  //暴露外部的引用 
  var jQuery = window.jQuery = window.$ = function(selector){ 
    return new jQuery.fn.init(selector); 
  } 
   
  //添加原型事件 
  jQuery.fn = jQuery.prototype = { 
    // 
    init:function(selector){ 
      var element = document.getElementsByTagName(selector); 
      Array.prototype.push.apply(this,element); 
      return this; 
    }, 
    myjQuery:"the test one", 
    length:0, 
    size:function(){ 
      return this.length; 
    } 
  } 
   
  //将init的原型引用成jQuery的原型 
  jQuery.fn.init.prototype = jQuery.fn; 
   
})();

我用我的理解解释一下,就是jquery原型里面有一个init初始化的方法,将传入的值进行解析,比如传入的id还是class还是标签名。然后通过相应的方法返回数组型对象。既可以通过对象直接调用方法,也可以使用数组的length。

以上就是jQuery 原理的分析,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

jQuery 相关文章推荐
jQuery Validate表单验证插件实现代码
Jun 08 jQuery
jquery.validate表单验证插件使用详解
Jun 21 jQuery
jQuery Datatable 多个查询条件自定义提交事件(推荐)
Aug 24 jQuery
jQuery选择器之表单元素选择器详解
Sep 19 jQuery
jQuery实现可兼容IE6的遮罩功能详解
Sep 19 jQuery
jQuery实现的监听导航滚动置顶状态功能示例
Jul 23 jQuery
使用jquery的cookie实现登录页记住用户名和密码的方法
Mar 13 jQuery
JQuery Ajax跨域调用和非跨域调用问题实例分析
Apr 16 jQuery
JQuery常见节点操作实例分析
May 15 jQuery
jQuery实现图片随机切换、抽奖功能(实例代码)
Oct 23 jQuery
JQuery样式与属性设置方法分析
Dec 07 jQuery
JQuery绑定事件四种实现方法解析
Dec 02 jQuery
jQuery上传插件webupload使用方法
Aug 01 #jQuery
关于jquery form表单序列化的注意事项详解
Aug 01 #jQuery
简述jQuery Easyui一些用法
Aug 01 #jQuery
Jquery中.bind()、.live()、.delegate()和.on()之间的区别详解
Aug 01 #jQuery
jquery easyui如何实现格式化列
Jul 30 #jQuery
jQuery dateRangePicker插件使用方法详解
Jul 28 #jQuery
jQuery获取table表中的td标签(实例讲解)
Jul 28 #jQuery
You might like
虹吸式咖啡探讨–研磨
2021/03/03 冲泡冲煮
php分页函数示例代码分享
2014/02/24 PHP
PHP正则表达式 /i, /is, /s, /isU等介绍
2014/10/23 PHP
PHP通过串口实现发送短信
2015/07/08 PHP
Thinkphp 框架配置操作之动态配置、扩展配置及批量配置实例分析
2020/05/15 PHP
javascript自动改变文字大小和颜色的效果的小例子
2013/08/02 Javascript
javascript验证上传文件的类型限制必须为某些格式
2013/11/14 Javascript
js监听滚动条滚动事件使得某个标签内容始终位于同一位置
2014/01/24 Javascript
js父页面与子页面不同时显示的方法
2014/10/16 Javascript
jQuery中parents()方法用法实例
2015/01/07 Javascript
png在IE6 下无法透明的解决方法汇总
2015/05/21 Javascript
js实现根据身份证号自动生成出生日期
2015/12/15 Javascript
实例讲解jquery与json的结合
2016/01/07 Javascript
jqPlot jQuery绘图插件的使用
2016/06/18 Javascript
微信小程序 es6-promise.js封装请求与处理异步进程
2017/06/12 Javascript
vue v-model实现自定义样式多选与单选功能
2018/07/05 Javascript
在Vue项目中取消ESLint代码检测的步骤讲解
2019/01/27 Javascript
vue-cli基础配置及webpack配置修改的完整步骤
2019/10/20 Javascript
js正则匹配多个全部数据问题
2019/12/20 Javascript
[59:44]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 paiN vs iG
2018/03/31 DOTA
[57:41]Secret vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
在Python的web框架中编写创建日志的程序的教程
2015/04/30 Python
Python网络爬虫出现乱码问题的解决方法
2017/01/05 Python
python可视化 matplotlib画图使用colorbar工具自定义颜色
2020/12/07 Python
基于CSS3实现图片模糊过滤效果
2015/11/19 HTML / CSS
html5实现移动端适配完美写法
2017/11/16 HTML / CSS
吉列剃须刀美国官网:Gillette美国
2018/07/13 全球购物
地理科学专业毕业生求职信
2013/10/15 职场文书
党员创先争优公开承诺书
2014/03/28 职场文书
机关保密承诺书
2014/06/03 职场文书
注册资产评估专业求职信
2014/07/16 职场文书
党员志愿者活动方案
2014/08/28 职场文书
学习三严三实对照检查材料思想汇报
2014/09/22 职场文书
万能检讨书
2015/01/27 职场文书
2015年国税春训心得体会
2015/03/09 职场文书
六年级作文之预言作文
2019/10/25 职场文书