详解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实现简单的拖曳效果实例代码
Oct 20 jQuery
jQuery图片查看插件Magnify开发详解
Dec 25 jQuery
解决jquery的ajax调取后端数据成功却渲染失败的问题
Aug 08 jQuery
jQuery UI实现动画效果代码分享
Aug 19 jQuery
jQuery滑动效果实现方法分析
Sep 05 jQuery
jQuery实现的自定义轮播图功能详解
Dec 28 jQuery
在vue项目中使用Jquery-contextmenu插件的步骤讲解
Jan 27 jQuery
jQuery中实现text()的方法
Apr 04 jQuery
jquery实现Ajax请求的几种常见方式总结
May 28 jQuery
JQuery 实现文件下载的常用方法分析
Oct 29 jQuery
jQuery操作事件完整实例分析
Jan 10 jQuery
jquery实现图片放大镜效果
Dec 23 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
PHP 加密与解密的斗争
2009/04/17 PHP
php权重计算方法代码分享
2014/01/09 PHP
PHP基于数组实现的分页函数实例
2014/08/20 PHP
php中数字、字符与对象判断函数用法实例
2014/11/26 PHP
php实现ip白名单黑名单功能
2015/03/12 PHP
百度工程师讲PHP函数的实现原理及性能分析(二)
2015/05/13 PHP
Laravel框架中VerifyCsrfToken报错问题的解决
2017/08/30 PHP
laravel5.5添加echarts实现画图功能的方法
2019/10/09 PHP
解决php扩展安装不生效问题
2019/10/25 PHP
jQuery 判断页面元素是否存在的代码
2009/08/14 Javascript
jquery实现的元素的left增加N像素 鼠标移开会慢慢的移动到原来的位置
2010/03/21 Javascript
javascript垃圾收集机制与内存泄漏详细解析
2013/11/11 Javascript
js使用循环清空某个div中的input标签值
2014/09/29 Javascript
javascript实现支持移动设备画廊
2015/08/24 Javascript
完全深入学习Bootstrap表单
2016/11/28 Javascript
ES6新增数据结构WeakSet的用法详解
2017/08/07 Javascript
Angular4的输入属性与输出属性实例详解
2017/11/29 Javascript
Vue组件中slot的用法
2018/01/30 Javascript
layui 中select下拉change事件失效的解决方法
2019/09/20 Javascript
[00:44]TI7不朽珍藏III——军团指挥官不朽展示
2017/07/15 DOTA
[00:55]深扒TI7聊天轮盘语音出处3
2017/05/11 DOTA
从Python的源码浅要剖析Python的内存管理
2015/04/16 Python
Python制作词云的方法
2018/01/03 Python
Python3中在Anaconda环境下安装basemap包
2018/10/21 Python
django 外键model的互相读取方法
2018/12/15 Python
Python callable内置函数原理解析
2020/03/05 Python
零基础学Python之前需要学c语言吗
2020/07/21 Python
CSS3 文字动画效果
2020/11/12 HTML / CSS
深入研究HTML5实现图片压缩上传功能
2016/03/25 HTML / CSS
英国第一独立滑雪板商店:The Snowboard Asylum
2020/01/16 全球购物
大学生职业规划论文
2014/01/11 职场文书
2015年清明节网上祭英烈活动总结
2015/03/26 职场文书
部队2015年终工作总结
2015/04/02 职场文书
公司禁烟通知
2015/04/23 职场文书
农村婚庆主持词
2015/06/29 职场文书
看完这篇文章获得一些java if优化技巧
2021/07/15 Java/Android